{"id":20116,"date":"2026-11-12T09:17:07","date_gmt":"2026-11-12T09:17:07","guid":{"rendered":"https:\/\/www.largedisplaysolutions.com\/?page_id=20116"},"modified":"2026-11-12T10:25:59","modified_gmt":"2026-11-12T10:25:59","slug":"documentazione-dellapi-http-di-ldsperimetral","status":"publish","type":"page","link":"https:\/\/www.largedisplaysolutions.com\/it\/documentazione-dellapi-http-di-ldsperimetral\/","title":{"rendered":"Documentazione dell&#8217;API HTTP di LDSperimetral"},"content":{"rendered":"<div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-1 fusion-flex-container has-pattern-background has-mask-background nonhundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-flex-wrap:wrap;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap\" style=\"max-width:1976px;margin-left: calc(-4% \/ 2 );margin-right: calc(-4% \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-0 fusion_builder_column_1_6 1_6 fusion-flex-column\" style=\"--awb-bg-size:cover;--awb-width-large:16.666666666667%;--awb-margin-top-large:0px;--awb-spacing-right-large:11.52%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:11.52%;--awb-width-medium:16.666666666667%;--awb-order-medium:0;--awb-spacing-right-medium:11.52%;--awb-spacing-left-medium:11.52%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><\/div><\/div><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-1 fusion_builder_column_2_3 2_3 fusion-flex-column\" style=\"--awb-bg-size:cover;--awb-width-large:66.666666666667%;--awb-margin-top-large:0px;--awb-spacing-right-large:2.88%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:2.88%;--awb-width-medium:66.666666666667%;--awb-order-medium:0;--awb-spacing-right-medium:2.88%;--awb-spacing-left-medium:2.88%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><article lang=\"it\" style=\"max-width:1100px;margin:0 auto;padding:16px 4px;color:#243442;background:#ffffff;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.75;\">\n\n<h1 id=\"http-api\" style=\"margin:0 0 24px;color:#173d4a;font-size:2.25em;line-height:1.2;font-weight:700;\">API HTTP di LDSperimetral<\/h1>\n\n<p style=\"margin:0 0 22px;\">Versione: <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">1.58.1<\/code><\/p>\n\n<p style=\"margin:0 0 22px;\">Ultimo aggiornamento: <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">2026-11-12<\/code><\/p>\n\n<p style=\"margin:0 0 22px;\">Questo manuale descrive i servizi implementati per il controllo del player e la misurazione onTV. Tutti gli esempi sono puramente illustrativi.<\/p>\n\n<h2 id=\"contents\" style=\"margin:52px 0 20px;padding-bottom:12px;border-bottom:2px solid #d7e6e9;color:#173d4a;line-height:1.3;scroll-margin-top:24px;\">Indice<\/h2>\n\n<ul style=\"margin:0 0 28px;padding-left:24px;\">\n\n<li style=\"margin:8px 0;\"><a href=\"#setup\" style=\"color:#17677a;text-decoration:underline;text-underline-offset:3px;\">Configurazione e accesso<\/a><\/li>\n\n<li style=\"margin:8px 0;\"><a href=\"#responses\" style=\"color:#17677a;text-decoration:underline;text-underline-offset:3px;\">Richieste e risposte<\/a><\/li>\n\n<li style=\"margin:8px 0;\"><a href=\"#player-routes\" style=\"color:#17677a;text-decoration:underline;text-underline-offset:3px;\">Rotte del player<\/a><\/li>\n\n<li style=\"margin:8px 0;\"><a href=\"#parameters\" style=\"color:#17677a;text-decoration:underline;text-underline-offset:3px;\">Parametri<\/a><\/li>\n\n<li style=\"margin:8px 0;\"><a href=\"#player-data\" style=\"color:#17677a;text-decoration:underline;text-underline-offset:3px;\">Dati del player<\/a><\/li>\n\n<li style=\"margin:8px 0;\"><a href=\"#ontv\" style=\"color:#17677a;text-decoration:underline;text-underline-offset:3px;\">Rotte e dati onTV<\/a><\/li>\n\n<li style=\"margin:8px 0;\"><a href=\"#examples\" style=\"color:#17677a;text-decoration:underline;text-underline-offset:3px;\">Esempi<\/a><\/li>\n\n<li style=\"margin:8px 0;\"><a href=\"#limitations\" style=\"color:#17677a;text-decoration:underline;text-underline-offset:3px;\">Limitazioni<\/a><\/li>\n\n<\/ul>\n\n<h2 id=\"setup\" style=\"margin:52px 0 20px;padding-bottom:12px;border-bottom:2px solid #d7e6e9;color:#173d4a;line-height:1.3;scroll-margin-top:24px;\">Configurazione e accesso<\/h2>\n\n<p style=\"margin:0 0 22px;\">Utilizzare un'installazione funzionante di LDSperimetral su Windows con il relativo runtime .NET Framework 4.7.2 e la normale configurazione del player. L'applicazione deve essere in esecuzione. L'API \u00e8 ospitata dall'applicazione stessa, non da un server separato.<\/p>\n\n<p style=\"margin:0 0 22px;\">Nella finestra di configurazione del terminale, abilitare il controllo remoto del player per il servizio del player. Abilitare separatamente il misuratore onTV per il servizio di statistiche. Salvare e applicare la configurazione del terminale. La finestra rifiuta la porta se coincide con quella della rete di sincronizzazione. Le relative impostazioni memorizzate in <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">config\/terminals.xml<\/code> sono <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">remote_player_enabled<\/code>, <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">on_tv_meter_enabled<\/code> e <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">port<\/code>. Entrambi i flag di attivazione sono impostati su false per predefinita. Il valore predefinito nel codice per <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">port<\/code> \u00e8 <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">8083<\/code>; un'installazione esistente pu\u00f2 utilizzare un'altra porta.<\/p>\n\n<div style=\"margin:30px 0 48px;overflow-x:auto;\"><table style=\"width:100%;border-collapse:collapse;border:1px solid #bccdd3;font-size:0.95em;line-height:1.65;\">\n<thead><tr><th scope=\"col\" style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;background:#e8f1f3;color:#173d4a;font-weight:700;\">Servizio<\/th><th scope=\"col\" style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;background:#e8f1f3;color:#173d4a;font-weight:700;\">URL di base<\/th><\/tr><\/thead>\n<tbody>\n\n<tr style=\"background:#ffffff;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">Player<\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">http:\/\/HOST:PORT\/ws\/remoteplayer\/<\/code><\/td><\/tr>\n\n<tr style=\"background:#f5f8f9;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">Statistiche onTV<\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">http:\/\/HOST:PORT\/ws\/statsmeter\/<\/code><\/td><\/tr>\n\n<tr style=\"background:#ffffff;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">Interfaccia browser onTV<\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">http:\/\/HOST:PORT\/ontvmeter<\/code><\/td><\/tr>\n\n<\/tbody>\n<\/table><\/div>\n\n<p style=\"margin:0 0 22px;\">Sostituire <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">HOST<\/code> con l'indirizzo del computer del player e <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">PORT<\/code> con la sua porta HTTP configurata. Usare <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">127.0.0.1<\/code> esclusivamente da quel computer. L'host si collega a <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">http:\/\/0.0.0.0:PORT\/<\/code>; questo non \u00e8 una destinazione per i client. Le autorizzazioni URL di Windows, le regole del firewall e la raggiungibilit\u00e0 di rete possono influire sull'accesso. All'avvio potrebbe essere richiesta l'autorizzazione per aprire la porta TCP del firewall e concedere una prenotazione URL in Windows. Seguire le istruzioni dell'applicazione, incluso il riavvio quando richiesto.<\/p>\n\n<p style=\"margin:0 0 22px;\">Il servizio utilizza HTTP semplice e un <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">WebHttpBinding<\/code> predefinito. In questi servizi non sono implementati chiavi API, login, autorizzazioni per singolo comando o elenchi consentiti di IP client. I client raggiungibili possono inviare comandi di riproduzione e misurazione. Limitare l'accesso alla rete ai client attendibili. Le prenotazioni URL di Windows autorizzano il processo del server a rimanere in ascolto; non autenticano i chiamanti dell'API. Questo host non fornisce alcuna configurazione HTTPS o CORS. L'accesso cross-origin tramite browser non \u00e8 un'interfaccia garantita.<\/p>\n\n<h2 id=\"responses\" style=\"margin:52px 0 20px;padding-bottom:12px;border-bottom:2px solid #d7e6e9;color:#173d4a;line-height:1.3;scroll-margin-top:24px;\">Richieste e risposte<\/h2>\n\n<p style=\"margin:0 0 22px;\">Tutte le rotte sottostanti utilizzano <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">GET<\/code>, inclusi i comandi che modificano lo stato. Aggiungere ciascuna rotta all'URL di base del servizio. Non \u00e8 dichiarato alcun corpo di richiesta o parametro di query. I segnaposto racchiusi tra graffe sono segmenti di percorso obbligatori, a meno che la rotta non descriva esplicitamente il carattere jolly di interruzione dell'overlay. Non inviare le parentesi graffe letteralmente.<\/p>\n\n<p style=\"margin:0 0 22px;\">Le risposte utilizzano la serializzazione JSON di WCF e un oggetto comune:<\/p>\n\n<div style=\"margin:30px 0 48px;overflow-x:auto;\"><table style=\"width:100%;border-collapse:collapse;border:1px solid #bccdd3;font-size:0.95em;line-height:1.65;\">\n<thead><tr><th scope=\"col\" style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;background:#e8f1f3;color:#173d4a;font-weight:700;\">Campo JSON<\/th><th scope=\"col\" style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;background:#e8f1f3;color:#173d4a;font-weight:700;\">Tipo<\/th><th scope=\"col\" style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;background:#e8f1f3;color:#173d4a;font-weight:700;\">Significato<\/th><\/tr><\/thead>\n<tbody>\n\n<tr style=\"background:#ffffff;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">status<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">intero<\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">Stato dell'applicazione dalla tabella sottostante.<\/td><\/tr>\n\n<tr style=\"background:#f5f8f9;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">message<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">stringa o null<\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">Testo diagnostico; non \u00e8 un identificatore stabile.<\/td><\/tr>\n\n<tr style=\"background:#ffffff;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">result<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">valore specifico della rotta<\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">Booleano, stringa, oggetto, array o null.<\/td><\/tr>\n\n<\/tbody>\n<\/table><\/div>\n\n<div style=\"margin:30px 0 48px;overflow-x:auto;\"><table style=\"width:100%;border-collapse:collapse;border:1px solid #bccdd3;font-size:0.95em;line-height:1.65;\">\n<thead><tr><th scope=\"col\" style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;background:#e8f1f3;color:#173d4a;font-weight:700;\">Valore<\/th><th scope=\"col\" style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;background:#e8f1f3;color:#173d4a;font-weight:700;\">Identificatore<\/th><th scope=\"col\" style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;background:#e8f1f3;color:#173d4a;font-weight:700;\">Significato<\/th><\/tr><\/thead>\n<tbody>\n\n<tr style=\"background:#ffffff;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">0<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">OK<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">Nessun errore dell'applicazione segnalato.<\/td><\/tr>\n\n<tr style=\"background:#f5f8f9;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">1<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">COUNTER_NOT_EXIST<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">Definito nell'enum condiviso; non restituito esplicitamente da queste rotte.<\/td><\/tr>\n\n<tr style=\"background:#ffffff;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">2<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">TIMER_NOT_EXIST<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">Definito nell'enum condiviso; non restituito esplicitamente da queste rotte.<\/td><\/tr>\n\n<tr style=\"background:#f5f8f9;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">3<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">INTERNAL_ERROR<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">Elaborazione della richiesta fallita.<\/td><\/tr>\n\n<tr style=\"background:#ffffff;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">4<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">PLAYLIST_NOT_FOUND<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">Nessuna playlist disponibile corrispondente.<\/td><\/tr>\n\n<tr style=\"background:#f5f8f9;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">5<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">INVALID_ARGUMENT<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">Indice di sequenza non valido, avvio di playlist vuota o luminosit\u00e0 non intera.<\/td><\/tr>\n\n<tr style=\"background:#ffffff;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">6<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">SEQUENCE_NOT_FOUND<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">Nessun overlay disponibile corrispondente.<\/td><\/tr>\n\n<tr style=\"background:#f5f8f9;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">7<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">SERVICE_NOT_READY<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">Controllo del player non disponibile o in fase di arresto, oppure controlli di luminosit\u00e0 non disponibili.<\/td><\/tr>\n\n<\/tbody>\n<\/table><\/div>\n\n<p style=\"margin:0 0 22px;\">Gli errori dell'applicazione vengono restituiti all'interno di questo contenitore senza modificare esplicitamente lo stato HTTP. Di conseguenza, un errore dell'applicazione serializzato normalmente rimane una risposta di successo HTTP. Ispezionare sempre <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">status<\/code> e successivamente il campo <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">result<\/code> atteso. Un errore di trasporto o di routing WCF pu\u00f2 avere un corpo differente e non deve essere interpretato come un contenitore garantito. I test si aspettano un codice HTTP <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">404<\/code> per una rotta sconosciuta e <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">405<\/code> per un metodo non supportato; queste aspettative non sono state verificate su un host in esecuzione per questo manuale.<\/p>\n\n<p style=\"margin:0 0 22px;\">Per i comandi booleani, <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">status: 0<\/code> e <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">result: true<\/code> indicano che il percorso del comando \u00e8 stato elaborato. Non provano la riuscita dell'output audiovisivo o il completamento di una transizione. Alcuni metodi sottostanti intercettano gli errori o non eseguono alcuna azione in assenza di un rendering. Interrogare <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">get_reproduction_state<\/code> dopo un comando e attendere lo stato desiderato con un timeout definito dal client. Non sono previsti ID di comando, endpoint di completamento, notifiche push o scadenze di transizione specificate. Non inviare ripetutamente un comando mentre si \u00e8 in attesa del suo effetto.<\/p>\n\n<p style=\"margin:0 0 22px;\">Ad eccezione di <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">ping<\/code>, le operazioni del player passano attraverso il dispatcher della finestra di controllo quando disponibile. Questo serializza l'accesso al controllo sul thread dell'interfaccia utente (UI), ma non rende le richieste HTTP separate una transazione atomica. Le operazioni statistiche non utilizzano questo helper di dispacciamento del player.<\/p>\n\n<h2 id=\"player-routes\" style=\"margin:52px 0 20px;padding-bottom:12px;border-bottom:2px solid #d7e6e9;color:#173d4a;line-height:1.3;scroll-margin-top:24px;\">Rotte del player<\/h2>\n\n<p style=\"margin:0 0 22px;\">Tutti i percorsi in questa tabella sono relativi a <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">\/ws\/remoteplayer\/<\/code>.<\/p>\n\n<div style=\"margin:30px 0 48px;overflow-x:auto;\"><table style=\"width:100%;border-collapse:collapse;border:1px solid #bccdd3;font-size:0.95em;line-height:1.65;\">\n<thead><tr><th scope=\"col\" style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;background:#e8f1f3;color:#173d4a;font-weight:700;\">Rotta GET<\/th><th scope=\"col\" style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;background:#e8f1f3;color:#173d4a;font-weight:700;\">Risultato di successo<\/th><th scope=\"col\" style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;background:#e8f1f3;color:#173d4a;font-weight:700;\">Effetto o query<\/th><\/tr><\/thead>\n<tbody>\n\n<tr style=\"background:#ffffff;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">ping<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">booleano <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">true<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">Verifica che il servizio risponda; non verifica la prontezza del rendering.<\/td><\/tr>\n\n<tr style=\"background:#f5f8f9;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">get_instance_name<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">stringa<\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">Nome dell'istanza configurato; pu\u00f2 essere vuoto.<\/td><\/tr>\n\n<tr style=\"background:#ffffff;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">list_playlists<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">array di PlaylistInfo<\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">Playlist disponibili nell'ordine della raccolta.<\/td><\/tr>\n\n<tr style=\"background:#f5f8f9;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">list_playlist_sequences\/{playlist_name}<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">array di SequenceInfo<\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">Sequenze nell'ordine della playlist; gli indici partono da zero.<\/td><\/tr>\n\n<tr style=\"background:#ffffff;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">list_overlay_sequences<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">array di SequenceInfo<\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">Sequenze di overlay always-on-top disponibili.<\/td><\/tr>\n\n<tr style=\"background:#f5f8f9;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">get_reproduction_state<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">ReproductionState<\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">Stato corrente di controllo e rendering.<\/td><\/tr>\n\n<tr style=\"background:#ffffff;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">start_playlist\/{playlist_name}<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">booleano<\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">Avvia la playlist selezionata, incluse le playlist di azioni rapide. Le playlist vuote vengono rifiutate.<\/td><\/tr>\n\n<tr style=\"background:#f5f8f9;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">start_sequence\/{playlist_name}\/{sequence_number}<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">booleano<\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">Avvia la sequenza esistente selezionata.<\/td><\/tr>\n\n<tr style=\"background:#ffffff;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">start_aot_sequence\/{sequence_name_or_file}<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">booleano<\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">Avvia l'overlay always-on-top selezionato sopra lo sfondo.<\/td><\/tr>\n\n<tr style=\"background:#f5f8f9;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">start_aot_sequence\/*<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">booleano<\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">Gestore di arresto con carattere jolly. Usare <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">start_aot_sequence\/<\/code> per rimuovere l'overlay; conservare lo slash finale. Non inviare un asterisco letterale.<\/td><\/tr>\n\n<tr style=\"background:#ffffff;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">stop<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">booleano<\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">Chiama l'operazione di arresto del player. Interrogare lo stato per confermare che la riproduzione \u00e8 stata interrotta.<\/td><\/tr>\n\n<tr style=\"background:#f5f8f9;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">pause<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">booleano<\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">Mette in pausa se il rendering non \u00e8 gi\u00e0 in pausa.<\/td><\/tr>\n\n<tr style=\"background:#ffffff;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">resume<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">booleano<\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">Riprende se il rendering \u00e8 in pausa.<\/td><\/tr>\n\n<tr style=\"background:#f5f8f9;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">pauseresume<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">booleano<\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">Inverte lo stato di pausa del rendering.<\/td><\/tr>\n\n<tr style=\"background:#ffffff;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">play_next<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">booleano<\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">Avvia la sequenza successiva; torna dall'ultima alla prima. Non esegue alcuna azione senza una sequenza e una playlist attive.<\/td><\/tr>\n\n<tr style=\"background:#f5f8f9;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">quick_action_exit<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">booleano<\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">Richiede l'uscita quando il rendering si trova in modalit\u00e0 di azione rapida; altrimenti non esegue alcuna azione.<\/td><\/tr>\n\n<tr style=\"background:#ffffff;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">set_global_brightness\/{brightness_tpc}<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">booleano<\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">Imposta ogni valore di matrice di luminosit\u00e0 disponibile al valore percentuale fornito diviso per 100. Non \u00e8 definita alcuna query HTTP per la luminosit\u00e0.<\/td><\/tr>\n\n<\/tbody>\n<\/table><\/div>\n\n<p style=\"margin:0 0 22px;\">La rotta dell'overlay specificata per nome \u00e8 pi\u00f9 specifica rispetto a quella con carattere jolly. Un nome di overlay inesistente restituisce <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">SEQUENCE_NOT_FOUND<\/code>; non si tratta di una richiesta di arresto. Il routing con carattere jolly con coda vuota e altri casi limite di percorsi codificati richiedono comunque la validazione da parte dell'host.<\/p>\n\n<h2 id=\"parameters\" style=\"margin:52px 0 20px;padding-bottom:12px;border-bottom:2px solid #d7e6e9;color:#173d4a;line-height:1.3;scroll-margin-top:24px;\">Parametri<\/h2>\n\n<div style=\"margin:30px 0 48px;overflow-x:auto;\"><table style=\"width:100%;border-collapse:collapse;border:1px solid #bccdd3;font-size:0.95em;line-height:1.65;\">\n<thead><tr><th scope=\"col\" style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;background:#e8f1f3;color:#173d4a;font-weight:700;\">Parametro<\/th><th scope=\"col\" style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;background:#e8f1f3;color:#173d4a;font-weight:700;\">Tipo e regole<\/th><\/tr><\/thead>\n<tbody>\n\n<tr style=\"background:#ffffff;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">playlist_name<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">Stringa obbligatoria. Corrisponde esattamente al nome della playlist o al nome base del suo file di definizione, inclusa l'estensione. La corrispondenza distingue tra maiuscole e minuscole (case-sensitive) e restituisce la prima corrispondenza nella raccolta disponibile. Un percorso di definizione completo non costituisce una chiave di ricerca per la playlist.<\/td><\/tr>\n\n<tr style=\"background:#f5f8f9;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">sequence_number<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">Intero con segno a 32 bit obbligatorio, analizzato con impostazioni internazionali invarianti (invariant culture). Deve essere compreso tra <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">0<\/code> e <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">sequence_count - 1<\/code>. Valori negativi, non interi, in overflow o fuori intervallo restituiscono <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">INVALID_ARGUMENT<\/code> dopo la ricerca della playlist. Una playlist mancante restituisce prima <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">PLAYLIST_NOT_FOUND<\/code>.<\/td><\/tr>\n\n<tr style=\"background:#ffffff;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">sequence_name_or_file<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">Stringa obbligatoria per l'avvio dell'overlay. Corrisponde esattamente al nome dell'overlay, al valore del file memorizzato o al nome base del file. La corrispondenza distingue tra maiuscole e minuscole (case-sensitive) e restituisce la prima corrispondenza. \u00c8 preferibile utilizzare nomi o nomi base per gli URL.<\/td><\/tr>\n\n<tr style=\"background:#f5f8f9;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">brightness_tpc<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">Testo intero con segno a 32 bit obbligatorio. I valori numerici vengono limitati (clamped) a percentuali comprese tra <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">0<\/code> e <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">100<\/code>. I valori non interi e in overflow restituiscono <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">INVALID_ARGUMENT<\/code>. L'analisi utilizza la cultura dei numeri interi predefinita del server. Utilizzare cifre decimali semplici con un eventuale segno opzionale.<\/td><\/tr>\n\n<\/tbody>\n<\/table><\/div>\n\n<p style=\"margin:0 0 22px;\">Codificare in percentuale (percent-encode) ciascun segmento di percorso stringa come UTF-8. Ad esempio, <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">Demo Show<\/code> diventa <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">Demo%20Show<\/code>; codificare un carattere <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">+<\/code> letterale come <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">%2B<\/code>, <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">#<\/code> come <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">%23<\/code>, <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">?<\/code> come <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">%3F<\/code> e <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">%<\/code> come <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">%25<\/code>. Non codificare i separatori tra i segmenti della rotta. Gli helper degli URL utilizzano <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">Uri.EscapeDataString<\/code> per i riferimenti di avvio. Slash codificati, backslash e percorsi completi del file system possono essere influenzati dallo stack HTTP di Windows e non sono verificati qui. \u00c8 preferibile utilizzare un nome univoco o un nome base privo di separatori di percorso. L'assenza di segmenti obbligatori pu\u00f2 causare il fallimento del routing WCF prima della validazione dell'applicazione.<\/p>\n\n<h2 id=\"player-data\" style=\"margin:52px 0 20px;padding-bottom:12px;border-bottom:2px solid #d7e6e9;color:#173d4a;line-height:1.3;scroll-margin-top:24px;\">Dati del player<\/h2>\n\n<p style=\"margin:0 0 22px;\">I nomi dei campi sottostanti corrispondono esattamente ai nomi del contratto JSON. L'ordine delle propriet\u00e0 dell'oggetto non \u00e8 significativo. I campi dei file contengono riferimenti memorizzati e possono esporre informazioni sul file system; non dare per scontato che si tratti di URL di download pubblici.<\/p>\n\n<div style=\"margin:30px 0 48px;overflow-x:auto;\"><table style=\"width:100%;border-collapse:collapse;border:1px solid #bccdd3;font-size:0.95em;line-height:1.65;\">\n<thead><tr><th scope=\"col\" style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;background:#e8f1f3;color:#173d4a;font-weight:700;\">Campo PlaylistInfo<\/th><th scope=\"col\" style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;background:#e8f1f3;color:#173d4a;font-weight:700;\">Tipo e significato<\/th><\/tr><\/thead>\n<tbody>\n\n<tr style=\"background:#ffffff;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">name<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">stringa; nome della playlist.<\/td><\/tr>\n\n<tr style=\"background:#f5f8f9;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">filename<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">stringa; riferimento al file di definizione della playlist memorizzato.<\/td><\/tr>\n\n<tr style=\"background:#ffffff;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">is_quick_action<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">booleano; flag di interruzione della playlist.<\/td><\/tr>\n\n<tr style=\"background:#f5f8f9;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">has_button<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">booleano; flag del pulsante di accesso rapido.<\/td><\/tr>\n\n<tr style=\"background:#ffffff;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">button_color<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">oggetto; membri di colore WCF <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">A<\/code>, <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">B<\/code>, <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">G<\/code>, <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">R<\/code> (canali byte, 0\u2013255) e <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">ScA<\/code>, <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">ScB<\/code>, <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">ScG<\/code>, <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">ScR<\/code> (canali scRGB in virgola mobile). Questo non \u00e8 una stringa CSS.<\/td><\/tr>\n\n<tr style=\"background:#f5f8f9;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">sequence_count<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">intero; numero di sequenze.<\/td><\/tr>\n\n<\/tbody>\n<\/table><\/div>\n\n<div style=\"margin:30px 0 48px;overflow-x:auto;\"><table style=\"width:100%;border-collapse:collapse;border:1px solid #bccdd3;font-size:0.95em;line-height:1.65;\">\n<thead><tr><th scope=\"col\" style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;background:#e8f1f3;color:#173d4a;font-weight:700;\">Campo SequenceInfo<\/th><th scope=\"col\" style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;background:#e8f1f3;color:#173d4a;font-weight:700;\">Tipo e significato<\/th><\/tr><\/thead>\n<tbody>\n\n<tr style=\"background:#ffffff;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">name<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">stringa; nome della sequenza.<\/td><\/tr>\n\n<tr style=\"background:#f5f8f9;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">filename<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">stringa; riferimento al file di sequenza memorizzato.<\/td><\/tr>\n\n<tr style=\"background:#ffffff;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">is_on_top<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">booleano; true per gli elenchi di overlay, false per gli elenchi di sequenze di playlist.<\/td><\/tr>\n\n<\/tbody>\n<\/table><\/div>\n\n<div style=\"margin:30px 0 48px;overflow-x:auto;\"><table style=\"width:100%;border-collapse:collapse;border:1px solid #bccdd3;font-size:0.95em;line-height:1.65;\">\n<thead><tr><th scope=\"col\" style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;background:#e8f1f3;color:#173d4a;font-weight:700;\">Campo ReproductionState<\/th><th scope=\"col\" style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;background:#e8f1f3;color:#173d4a;font-weight:700;\">Tipo e significato<\/th><\/tr><\/thead>\n<tbody>\n\n<tr style=\"background:#ffffff;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">is_playing<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">booleano; esiste una playlist attiva. Non stabilisce un output visibile.<\/td><\/tr>\n\n<tr style=\"background:#f5f8f9;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">is_paused<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">booleano; stato di pausa del controllo.<\/td><\/tr>\n\n<tr style=\"background:#ffffff;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">is_render_active<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">booleano; flag di rendering attivo, false in assenza di rendering.<\/td><\/tr>\n\n<tr style=\"background:#f5f8f9;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">is_quickaction<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">booleano; esistono una playlist attiva e un rendering in modalit\u00e0 di azione rapida.<\/td><\/tr>\n\n<tr style=\"background:#ffffff;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">current_playlist<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">stringa; nome della playlist attiva, altrimenti vuoto.<\/td><\/tr>\n\n<tr style=\"background:#f5f8f9;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">current_playlist_file<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">stringa; riferimento alla definizione della playlist attiva, altrimenti vuoto.<\/td><\/tr>\n\n<tr style=\"background:#ffffff;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">current_sequence<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">stringa; nome della sequenza attiva, altrimenti vuoto.<\/td><\/tr>\n\n<tr style=\"background:#f5f8f9;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">current_sequence_index<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">intero; indice della sequenza attiva basato su zero, altrimenti <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">-1<\/code>.<\/td><\/tr>\n\n<tr style=\"background:#ffffff;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">current_overlay_sequence_name<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">stringa; nome dell'overlay attivo, altrimenti vuoto.<\/td><\/tr>\n\n<tr style=\"background:#f5f8f9;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">current_overlay_sequence_file<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">stringa; riferimento al file dell'overlay attivo, altrimenti vuoto.<\/td><\/tr>\n\n<tr style=\"background:#ffffff;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">current_sequence_elapsed_time<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">stringa; contatore del tempo trascorso della sequenza moltiplicato per 1000, in millisecondi.<\/td><\/tr>\n\n<tr style=\"background:#f5f8f9;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">current_sequence_total_time<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">stringa; durata della sequenza in millisecondi, troncata verso lo zero.<\/td><\/tr>\n\n<\/tbody>\n<\/table><\/div>\n\n<p style=\"margin:0 0 22px;\">I valori temporali sono stringhe JSON, non numeri o intervalli di tempo formattati. Entrambi i campi temporali sono <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">\"0\"<\/code> in assenza di una sequenza attiva. La loro interpolazione utilizza la cultura del server; non dare per scontato un separatore decimale invariante o una precisione di misurazione al millisecondo. I valori di file\/nome copiati dal modello possono essere null. Un errore dell'applicazione pu\u00f2 restituire risultati nulli, vuoti o parzialmente popolati; controllare <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">status<\/code> prima di utilizzarli.<\/p>\n\n<h2 id=\"ontv\" style=\"margin:52px 0 20px;padding-bottom:12px;border-bottom:2px solid #d7e6e9;color:#173d4a;line-height:1.3;scroll-margin-top:24px;\">Rotte e dati onTV<\/h2>\n\n<p style=\"margin:0 0 22px;\">Tutti i percorsi in questa tabella sono relativi a <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">\/ws\/statsmeter\/<\/code>. Mantenere l'ortografia <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">mesures<\/code> esattamente come mostrato.<\/p>\n\n<div style=\"margin:30px 0 48px;overflow-x:auto;\"><table style=\"width:100%;border-collapse:collapse;border:1px solid #bccdd3;font-size:0.95em;line-height:1.65;\">\n<thead><tr><th scope=\"col\" style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;background:#e8f1f3;color:#173d4a;font-weight:700;\">Rotta GET<\/th><th scope=\"col\" style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;background:#e8f1f3;color:#173d4a;font-weight:700;\">Risultato di successo<\/th><th scope=\"col\" style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;background:#e8f1f3;color:#173d4a;font-weight:700;\">Effetto o query<\/th><\/tr><\/thead>\n<tbody>\n\n<tr style=\"background:#ffffff;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">start_on_tv_interval<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">OnTVInterval<\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">Apre un intervallo di misurazione; un intervallo gi\u00e0 aperto viene mantenuto.<\/td><\/tr>\n\n<tr style=\"background:#f5f8f9;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">stop_on_tv_interval<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">OnTVInterval<\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">Chiude l'ultimo intervallo se \u00e8 aperto.<\/td><\/tr>\n\n<tr style=\"background:#ffffff;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">state_on_tv_interval<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">OnTVInterval<\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">Restituisce l'ultimo intervallo, incluso un intervallo chiuso.<\/td><\/tr>\n\n<tr style=\"background:#f5f8f9;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">get_all_intervals_on_tv<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">array di OnTVInterval<\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">Restituisce l'elenco degli intervalli del misuratore di rendering. Non \u00e8 dichiarato alcun filtro di paginazione o di data.<\/td><\/tr>\n\n<tr style=\"background:#ffffff;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">get_mesures_statistics<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">TransmissionStatistics<\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">Conteggi e totali degli intervalli completati.<\/td><\/tr>\n\n<\/tbody>\n<\/table><\/div>\n\n<p style=\"margin:0 0 22px;\">Questi comandi contrassegnano i periodi di misurazione. Non avviano n\u00e9 interrompono la riproduzione della playlist e non rilevano un segnale di trasmissione. Il controller restituisce un intervallo predefinito, o un elenco vuoto per l'operazione sugli elenchi, in assenza di un rendering. Un rendering privo di un misuratore di statistiche pu\u00f2 restituire null; l'avvio e l'arresto incontrano quindi la dereferenziazione di logging del servizio e segnalano un errore interno. Questa pu\u00f2 essere una risposta <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">OK<\/code> priva di una misurazione effettiva.<\/p>\n\n<div style=\"margin:30px 0 48px;overflow-x:auto;\"><table style=\"width:100%;border-collapse:collapse;border:1px solid #bccdd3;font-size:0.95em;line-height:1.65;\">\n<thead><tr><th scope=\"col\" style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;background:#e8f1f3;color:#173d4a;font-weight:700;\">Campo OnTVInterval<\/th><th scope=\"col\" style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;background:#e8f1f3;color:#173d4a;font-weight:700;\">Tipo e significato<\/th><\/tr><\/thead>\n<tbody>\n\n<tr style=\"background:#ffffff;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">begin<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">Stringa DateTime WCF JSON; inizio dell'intervallo.<\/td><\/tr>\n\n<tr style=\"background:#f5f8f9;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">end<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">Stringa DateTime WCF JSON; fine dell'intervallo.<\/td><\/tr>\n\n<\/tbody>\n<\/table><\/div>\n\n<p style=\"margin:0 0 22px;\">Il marcatore non impostato \u00e8 una data con anno <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">1970<\/code>, inizializzata al 1\u00b0 gennaio 1970. Un intervallo aperto ha una fine non impostata. L'assenza di un intervallo registrato produce un oggetto predefinito con entrambe le date non impostate. L'arresto ripetuto lascia inalterato un intervallo chiuso. Le date provengono da <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">DateTime.Now<\/code> sul server. WCF utilizza la rappresentazione <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">\/Date(milliseconds[+or-offset])\/<\/code>, con un possibile escape degli slash in JSON; non si tratta di un contratto ISO 8601. L'offset opzionale e la gestione locale\/non specificata di DateTime devono essere verificati sull'host di distribuzione. Non interpretare il valore sentinella come un timestamp misurato reale.<\/p>\n\n<div style=\"margin:30px 0 48px;overflow-x:auto;\"><table style=\"width:100%;border-collapse:collapse;border:1px solid #bccdd3;font-size:0.95em;line-height:1.65;\">\n<thead><tr><th scope=\"col\" style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;background:#e8f1f3;color:#173d4a;font-weight:700;\">Campo TransmissionStatistics<\/th><th scope=\"col\" style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;background:#e8f1f3;color:#173d4a;font-weight:700;\">Tipo e significato<\/th><\/tr><\/thead>\n<tbody>\n\n<tr style=\"background:#ffffff;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">intervals_recorded<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">intero; conteggio in cui sia l'anno di inizio che quello di fine differiscono da <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">1970<\/code>.<\/td><\/tr>\n\n<tr style=\"background:#f5f8f9;\"><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\"><code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">total_seconds_in_tv<\/code><\/td><td style=\"padding:14px 18px;border:1px solid #bccdd3;text-align:left;vertical-align:top;overflow-wrap:anywhere;\">secondi interi; somma dei millisecondi degli intervalli completati, convertita in un intero a 32 bit, quindi divisa per 1000 e arrotondata con <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">Math.Round<\/code>. Gli intervalli aperti sono esclusi.<\/td><\/tr>\n\n<\/tbody>\n<\/table><\/div>\n\n<p style=\"margin:0 0 22px;\">L'accumulo dei millisecondi utilizza una conversione a intero a 32 bit prima dell'arrotondamento. Cronologie lunghe possono superare tale intervallo. Non trattare questo valore come un contatore di durata a precisione illimitata o come una cronologia di durata garantita tra i riavvi. Le intercettazioni delle statistiche segnalano <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">INTERNAL_ERROR<\/code>; il loro messaggio pu\u00f2 rimanere nullo.<\/p>\n\n<h2 id=\"examples\" style=\"margin:52px 0 20px;padding-bottom:12px;border-bottom:2px solid #d7e6e9;color:#173d4a;line-height:1.3;scroll-margin-top:24px;\">Esempi<\/h2>\n\n<p style=\"margin:0 0 22px;\">Tutte le richieste e i valori JSON in questa sezione sono illustrativi. L'host, i nomi e i riferimenti ai file sono segnaposto privi di dati privati. Le risposte sono contenitori completi, salvo diversa indicazione. L'ordine delle propriet\u00e0 e gli spazi bianchi JSON possono variare.<\/p>\n\n<p style=\"margin:0 0 22px;\">Verificare la disponibilit\u00e0 dal computer del player quando la porta configurata \u00e8 <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">8083<\/code>:<\/p>\n\n<pre translate=\"no\" style=\"margin:24px 0 32px;padding:20px 24px;border:1px solid #d4e0e4;border-left:4px solid #328295;border-radius:6px;background:#f4f7f8;color:#243442;overflow-x:auto;font-size:0.9em;line-height:1.65;\"><code translate=\"no\" style=\"display:block;margin:0;padding:0;border:0;background:#f4f7f8;color:#243442;font-family:Consolas,Menlo,monospace;font-size:14px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;text-shadow:none;\">curl \"http:\/\/127.0.0.1:8083\/ws\/remoteplayer\/ping\"\n<\/code><\/pre>\n\n<pre translate=\"no\" style=\"margin:24px 0 32px;padding:20px 24px;border:1px solid #d4e0e4;border-left:4px solid #328295;border-radius:6px;background:#f4f7f8;color:#243442;overflow-x:auto;font-size:0.9em;line-height:1.65;\"><code translate=\"no\" style=\"display:block;margin:0;padding:0;border:0;background:#f4f7f8;color:#243442;font-family:Consolas,Menlo,monospace;font-size:14px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;text-shadow:none;\">{\"message\":null,\"result\":true,\"status\":0}\n<\/code><\/pre>\n\n<p style=\"margin:0 0 22px;\">Elencare le sequenze in una playlist disponibile denominata <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">Demo Show<\/code>:<\/p>\n\n<pre translate=\"no\" style=\"margin:24px 0 32px;padding:20px 24px;border:1px solid #d4e0e4;border-left:4px solid #328295;border-radius:6px;background:#f4f7f8;color:#243442;overflow-x:auto;font-size:0.9em;line-height:1.65;\"><code translate=\"no\" style=\"display:block;margin:0;padding:0;border:0;background:#f4f7f8;color:#243442;font-family:Consolas,Menlo,monospace;font-size:14px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;text-shadow:none;\">curl \"http:\/\/127.0.0.1:8083\/ws\/remoteplayer\/list_playlist_sequences\/Demo%20Show\"\n<\/code><\/pre>\n\n<pre translate=\"no\" style=\"margin:24px 0 32px;padding:20px 24px;border:1px solid #d4e0e4;border-left:4px solid #328295;border-radius:6px;background:#f4f7f8;color:#243442;overflow-x:auto;font-size:0.9em;line-height:1.65;\"><code translate=\"no\" style=\"display:block;margin:0;padding:0;border:0;background:#f4f7f8;color:#243442;font-family:Consolas,Menlo,monospace;font-size:14px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;text-shadow:none;\">{\"message\":null,\"result\":[{\"filename\":\"demo.sequence\",\"is_on_top\":false,\"name\":\"Opening\"}],\"status\":0}\n<\/code><\/pre>\n\n<p style=\"margin:0 0 22px;\">Avviare la sua prima sequenza, quindi interrogare lo stato. Si tratta di due richieste separate:<\/p>\n\n<pre translate=\"no\" style=\"margin:24px 0 32px;padding:20px 24px;border:1px solid #d4e0e4;border-left:4px solid #328295;border-radius:6px;background:#f4f7f8;color:#243442;overflow-x:auto;font-size:0.9em;line-height:1.65;\"><code translate=\"no\" style=\"display:block;margin:0;padding:0;border:0;background:#f4f7f8;color:#243442;font-family:Consolas,Menlo,monospace;font-size:14px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;text-shadow:none;\">curl \"http:\/\/127.0.0.1:8083\/ws\/remoteplayer\/start_sequence\/Demo%20Show\/0\"\ncurl \"http:\/\/127.0.0.1:8083\/ws\/remoteplayer\/get_reproduction_state\"\n<\/code><\/pre>\n\n<p style=\"margin:0 0 22px;\">Risposta di comando illustrativa:<\/p>\n\n<pre translate=\"no\" style=\"margin:24px 0 32px;padding:20px 24px;border:1px solid #d4e0e4;border-left:4px solid #328295;border-radius:6px;background:#f4f7f8;color:#243442;overflow-x:auto;font-size:0.9em;line-height:1.65;\"><code translate=\"no\" style=\"display:block;margin:0;padding:0;border:0;background:#f4f7f8;color:#243442;font-family:Consolas,Menlo,monospace;font-size:14px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;text-shadow:none;\">{\"message\":null,\"result\":true,\"status\":0}\n<\/code><\/pre>\n\n<p style=\"margin:0 0 22px;\">Risposta di stato illustrativa dopo la transizione:<\/p>\n\n<pre translate=\"no\" style=\"margin:24px 0 32px;padding:20px 24px;border:1px solid #d4e0e4;border-left:4px solid #328295;border-radius:6px;background:#f4f7f8;color:#243442;overflow-x:auto;font-size:0.9em;line-height:1.65;\"><code translate=\"no\" style=\"display:block;margin:0;padding:0;border:0;background:#f4f7f8;color:#243442;font-family:Consolas,Menlo,monospace;font-size:14px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;text-shadow:none;\">{\"message\":null,\"result\":{\"is_playing\":true,\"is_paused\":false,\"is_render_active\":true,\"is_quickaction\":false,\"current_playlist\":\"Demo Show\",\"current_playlist_file\":\"demo.playlist\",\"current_sequence\":\"Opening\",\"current_sequence_index\":0,\"current_overlay_sequence_name\":\"\",\"current_overlay_sequence_file\":\"\",\"current_sequence_elapsed_time\":\"1000\",\"current_sequence_total_time\":\"300000\"},\"status\":0}\n<\/code><\/pre>\n\n<p style=\"margin:0 0 22px;\">Indice di sequenza non valido in una playlist esistente:<\/p>\n\n<pre translate=\"no\" style=\"margin:24px 0 32px;padding:20px 24px;border:1px solid #d4e0e4;border-left:4px solid #328295;border-radius:6px;background:#f4f7f8;color:#243442;overflow-x:auto;font-size:0.9em;line-height:1.65;\"><code translate=\"no\" style=\"display:block;margin:0;padding:0;border:0;background:#f4f7f8;color:#243442;font-family:Consolas,Menlo,monospace;font-size:14px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;text-shadow:none;\">curl \"http:\/\/127.0.0.1:8083\/ws\/remoteplayer\/start_sequence\/Demo%20Show\/-1\"\n<\/code><\/pre>\n\n<pre translate=\"no\" style=\"margin:24px 0 32px;padding:20px 24px;border:1px solid #d4e0e4;border-left:4px solid #328295;border-radius:6px;background:#f4f7f8;color:#243442;overflow-x:auto;font-size:0.9em;line-height:1.65;\"><code translate=\"no\" style=\"display:block;margin:0;padding:0;border:0;background:#f4f7f8;color:#243442;font-family:Consolas,Menlo,monospace;font-size:14px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;text-shadow:none;\">{\"message\":\"Sequence index must identify an existing sequence.\",\"result\":false,\"status\":5}\n<\/code><\/pre>\n\n<p style=\"margin:0 0 22px;\">Query per una playlist mancante:<\/p>\n\n<pre translate=\"no\" style=\"margin:24px 0 32px;padding:20px 24px;border:1px solid #d4e0e4;border-left:4px solid #328295;border-radius:6px;background:#f4f7f8;color:#243442;overflow-x:auto;font-size:0.9em;line-height:1.65;\"><code translate=\"no\" style=\"display:block;margin:0;padding:0;border:0;background:#f4f7f8;color:#243442;font-family:Consolas,Menlo,monospace;font-size:14px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;text-shadow:none;\">{\"message\":\"Playlist [Missing] not found.\",\"result\":[],\"status\":4}\n<\/code><\/pre>\n\n<p style=\"margin:0 0 22px;\">Avviare un overlay denominato <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">Demo Overlay<\/code>, quindi rimuoverlo:<\/p>\n\n<pre translate=\"no\" style=\"margin:24px 0 32px;padding:20px 24px;border:1px solid #d4e0e4;border-left:4px solid #328295;border-radius:6px;background:#f4f7f8;color:#243442;overflow-x:auto;font-size:0.9em;line-height:1.65;\"><code translate=\"no\" style=\"display:block;margin:0;padding:0;border:0;background:#f4f7f8;color:#243442;font-family:Consolas,Menlo,monospace;font-size:14px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;text-shadow:none;\">curl \"http:\/\/127.0.0.1:8083\/ws\/remoteplayer\/start_aot_sequence\/Demo%20Overlay\"\ncurl \"http:\/\/127.0.0.1:8083\/ws\/remoteplayer\/start_aot_sequence\/\"\n<\/code><\/pre>\n\n<p style=\"margin:0 0 22px;\">Impostare la luminosit\u00e0 globale al 50 percento:<\/p>\n\n<pre translate=\"no\" style=\"margin:24px 0 32px;padding:20px 24px;border:1px solid #d4e0e4;border-left:4px solid #328295;border-radius:6px;background:#f4f7f8;color:#243442;overflow-x:auto;font-size:0.9em;line-height:1.65;\"><code translate=\"no\" style=\"display:block;margin:0;padding:0;border:0;background:#f4f7f8;color:#243442;font-family:Consolas,Menlo,monospace;font-size:14px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;text-shadow:none;\">curl \"http:\/\/127.0.0.1:8083\/ws\/remoteplayer\/set_global_brightness\/50\"\n<\/code><\/pre>\n\n<p style=\"margin:0 0 22px;\">Aprire, ispezionare e chiudere un intervallo onTV, quindi leggere i totali:<\/p>\n\n<pre translate=\"no\" style=\"margin:24px 0 32px;padding:20px 24px;border:1px solid #d4e0e4;border-left:4px solid #328295;border-radius:6px;background:#f4f7f8;color:#243442;overflow-x:auto;font-size:0.9em;line-height:1.65;\"><code translate=\"no\" style=\"display:block;margin:0;padding:0;border:0;background:#f4f7f8;color:#243442;font-family:Consolas,Menlo,monospace;font-size:14px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;text-shadow:none;\">curl \"http:\/\/127.0.0.1:8083\/ws\/statsmeter\/start_on_tv_interval\"\ncurl \"http:\/\/127.0.0.1:8083\/ws\/statsmeter\/state_on_tv_interval\"\ncurl \"http:\/\/127.0.0.1:8083\/ws\/statsmeter\/stop_on_tv_interval\"\ncurl \"http:\/\/127.0.0.1:8083\/ws\/statsmeter\/get_mesures_statistics\"\n<\/code><\/pre>\n\n<p style=\"margin:0 0 22px;\">Risposta statistica illustrativa dopo un intervallo completato di cinque secondi:<\/p>\n\n<pre translate=\"no\" style=\"margin:24px 0 32px;padding:20px 24px;border:1px solid #d4e0e4;border-left:4px solid #328295;border-radius:6px;background:#f4f7f8;color:#243442;overflow-x:auto;font-size:0.9em;line-height:1.65;\"><code translate=\"no\" style=\"display:block;margin:0;padding:0;border:0;background:#f4f7f8;color:#243442;font-family:Consolas,Menlo,monospace;font-size:14px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;text-shadow:none;\">{\"message\":null,\"result\":{\"intervals_recorded\":1,\"total_seconds_in_tv\":5},\"status\":0}\n<\/code><\/pre>\n\n<h2 id=\"limitations\" style=\"margin:52px 0 20px;padding-bottom:12px;border-bottom:2px solid #d7e6e9;color:#173d4a;line-height:1.3;scroll-margin-top:24px;\">Limitazioni<\/h2>\n\n<p style=\"margin:0 0 22px;\">Gli offset di data, il routing con caratteri jolly, i corpi di errore HTTP e l'accesso specifico della distribuzione richiedono una validazione sull'installazione di destinazione.<\/p>\n\n<p style=\"margin:0 0 22px;\">Questo livello API non implementa alcun limite di frequenza (rate limit), isolamento dei client, transazione di richiesta, garanzia generale di idempotenza o garanzia di completamento audiovisivo. I comandi utilizzano GET, pertanto l'anteprima dei link, il prefetching, la memorizzazione nella cache (caching) e i tentativi automatici possono risultare non sicuri per i comandi. Utilizzare un client che invia richieste solo quando intenzionale e che non riutilizza risposte di query memorizzate nella cache. Il codice del server non stabilisce un contratto di controllo della cache (cache-control).<\/p>\n\n<p style=\"margin:0 0 22px;\">L'interfaccia HTML onTV, i metadati WCF e gli endpoint <code translate=\"no\" style=\"padding:2px 5px;border-radius:4px;background:#edf3f5;color:#294a58;font-size:0.9em;white-space:normal;overflow-wrap:anywhere;\">mex<\/code> sono separati dalle operazioni JSON documentate qui. Non costituiscono rotte di comandi aggiuntive per il player. In questi due contratti JSON non \u00e8 dichiarata alcuna operazione di caricamento, modifica di playlist, download di file, lettura della luminosit\u00e0 o sottoscrizione di eventi.<\/p>\n\n<\/article>[\/fusion_builder_container]<\/div><\/div><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-2 fusion_builder_column_1_6 1_6 fusion-flex-column\" style=\"--awb-bg-size:cover;--awb-width-large:16.666666666667%;--awb-margin-top-large:0px;--awb-spacing-right-large:11.52%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:11.52%;--awb-width-medium:16.666666666667%;--awb-order-medium:0;--awb-spacing-right-medium:11.52%;--awb-spacing-left-medium:11.52%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><\/div><\/div><\/div><\/div>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-20116","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Documentazione dell&#039;API HTTP di LDSperimetral - Large Display Solutions<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.largedisplaysolutions.com\/it\/ldsperimetral-http-api-documentation\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Documentazione dell&#039;API HTTP di LDSperimetral - Large Display Solutions\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.largedisplaysolutions.com\/ldsperimetral-http-api-documentation\/\" \/>\n<meta property=\"og:site_name\" content=\"Large Display Solutions\" \/>\n<meta property=\"article:modified_time\" content=\"2026-11-12T10:25:59+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Tempo di lettura stimato\" \/>\n\t<meta name=\"twitter:data1\" content=\"13 minuti\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.largedisplaysolutions.com\\\/it\\\/documentazione-dellapi-http-di-ldsperimetral\\\/\",\"url\":\"https:\\\/\\\/www.largedisplaysolutions.com\\\/ldsperimetral-http-api-documentation\\\/\",\"name\":\"Documentazione dell'API HTTP di LDSperimetral - Large Display Solutions\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.largedisplaysolutions.com\\\/it\\\/#website\"},\"datePublished\":\"2026-11-12T09:17:07+00:00\",\"dateModified\":\"2026-11-12T10:25:59+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.largedisplaysolutions.com\\\/ldsperimetral-http-api-documentation\\\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.largedisplaysolutions.com\\\/ldsperimetral-http-api-documentation\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.largedisplaysolutions.com\\\/ldsperimetral-http-api-documentation\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.largedisplaysolutions.com\\\/it\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Documentazione dell&#8217;API HTTP di LDSperimetral\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.largedisplaysolutions.com\\\/it\\\/#website\",\"url\":\"https:\\\/\\\/www.largedisplaysolutions.com\\\/it\\\/\",\"name\":\"Large Display Solutions\",\"description\":\"Software solutions for LED perimeter systems\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.largedisplaysolutions.com\\\/it\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.largedisplaysolutions.com\\\/it\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"it-IT\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.largedisplaysolutions.com\\\/it\\\/#organization\",\"name\":\"Large Display Solutions\",\"url\":\"https:\\\/\\\/www.largedisplaysolutions.com\\\/it\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\\\/\\\/www.largedisplaysolutions.com\\\/it\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.largedisplaysolutions.com\\\/wp-content\\\/uploads\\\/2021\\\/06\\\/LogotipoLDS_128x40.png\",\"contentUrl\":\"https:\\\/\\\/www.largedisplaysolutions.com\\\/wp-content\\\/uploads\\\/2021\\\/06\\\/LogotipoLDS_128x40.png\",\"width\":128,\"height\":40,\"caption\":\"Large Display Solutions\"},\"image\":{\"@id\":\"https:\\\/\\\/www.largedisplaysolutions.com\\\/it\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Documentazione dell'API HTTP di LDSperimetral - Large Display Solutions","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.largedisplaysolutions.com\/it\/ldsperimetral-http-api-documentation\/","og_locale":"it_IT","og_type":"article","og_title":"Documentazione dell'API HTTP di LDSperimetral - Large Display Solutions","og_url":"https:\/\/www.largedisplaysolutions.com\/ldsperimetral-http-api-documentation\/","og_site_name":"Large Display Solutions","article_modified_time":"2026-11-12T10:25:59+00:00","twitter_card":"summary_large_image","twitter_misc":{"Tempo di lettura stimato":"13 minuti"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.largedisplaysolutions.com\/it\/documentazione-dellapi-http-di-ldsperimetral\/","url":"https:\/\/www.largedisplaysolutions.com\/ldsperimetral-http-api-documentation\/","name":"Documentazione dell'API HTTP di LDSperimetral - Large Display Solutions","isPartOf":{"@id":"https:\/\/www.largedisplaysolutions.com\/it\/#website"},"datePublished":"2026-11-12T09:17:07+00:00","dateModified":"2026-11-12T10:25:59+00:00","breadcrumb":{"@id":"https:\/\/www.largedisplaysolutions.com\/ldsperimetral-http-api-documentation\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.largedisplaysolutions.com\/ldsperimetral-http-api-documentation\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.largedisplaysolutions.com\/ldsperimetral-http-api-documentation\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.largedisplaysolutions.com\/it\/"},{"@type":"ListItem","position":2,"name":"Documentazione dell&#8217;API HTTP di LDSperimetral"}]},{"@type":"WebSite","@id":"https:\/\/www.largedisplaysolutions.com\/it\/#website","url":"https:\/\/www.largedisplaysolutions.com\/it\/","name":"Large Display Solutions","description":"Software solutions for LED perimeter systems","publisher":{"@id":"https:\/\/www.largedisplaysolutions.com\/it\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.largedisplaysolutions.com\/it\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"it-IT"},{"@type":"Organization","@id":"https:\/\/www.largedisplaysolutions.com\/it\/#organization","name":"Large Display Solutions","url":"https:\/\/www.largedisplaysolutions.com\/it\/","logo":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/www.largedisplaysolutions.com\/it\/#\/schema\/logo\/image\/","url":"https:\/\/www.largedisplaysolutions.com\/wp-content\/uploads\/2021\/06\/LogotipoLDS_128x40.png","contentUrl":"https:\/\/www.largedisplaysolutions.com\/wp-content\/uploads\/2021\/06\/LogotipoLDS_128x40.png","width":128,"height":40,"caption":"Large Display Solutions"},"image":{"@id":"https:\/\/www.largedisplaysolutions.com\/it\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/www.largedisplaysolutions.com\/it\/wp-json\/wp\/v2\/pages\/20116","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.largedisplaysolutions.com\/it\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.largedisplaysolutions.com\/it\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.largedisplaysolutions.com\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.largedisplaysolutions.com\/it\/wp-json\/wp\/v2\/comments?post=20116"}],"version-history":[{"count":3,"href":"https:\/\/www.largedisplaysolutions.com\/it\/wp-json\/wp\/v2\/pages\/20116\/revisions"}],"predecessor-version":[{"id":20134,"href":"https:\/\/www.largedisplaysolutions.com\/it\/wp-json\/wp\/v2\/pages\/20116\/revisions\/20134"}],"wp:attachment":[{"href":"https:\/\/www.largedisplaysolutions.com\/it\/wp-json\/wp\/v2\/media?parent=20116"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}