videomodeconfiguration
10 min
el objeto configuración de modo de video le permite configurar la resolución de video y recuperar la configuración de salida de video idl de videomodeconfiguration interface videomodeconfiguration { promise\<modelist> getavailablemodes(); promise\<mode> getbestmode(string connector); promise\<mode> getactivemode(); promise\<mode> getconfiguredmode(); promise\<setmoderesult> setmode(mode mode); 	promise\<setmoderesult> setcustommodeline(string modeline) 	promise\<screenconfiglist> getscreenmodes(); promise\<setmoderesult> setscreenmodes(screenconfiglist configs); }; interface mode { attribute string modename; attribute string colorspace; attribute string colordepth; attribute int frequency; attribute bool dropframe; attribute int width; attribute int height; attribute int graphicsplaneheight; attribute int graphicsplanewidth; attribute bool preferred; attribute bool interlaced; attribute int overscan; }; interface setmoderesult { attribute bool restartrequired; }; interface screenconfig { attribute string outputname; attribute string videomode; attribute int screenx; attribute int screeny; attribute string transform; attribute bool enabled; }; creación de objetos para crear el objeto vidoemodeconfiguration , primero cargue el módulo brightsign/videomodeconfiguration usando el método require() luego cree una instancia de la clase videomodeconfiguration var videomodeconfigurationclass = require("@brightsign/videomodeconfiguration"); var videoconfig = new videomodeconfigurationclass(); videomodeconfiguration use esta interfaz para recuperar y modificar la configuración del modo de video getavailablemodes() promise\<modelist> getavailablemodes() devuelve una lista que contiene todos los modos de video compatibles con el reproductor cada modo de video compatible aparece como una instancia de modo getbestmode() promise\<mode> getbestmode(string connector) devuelve el modo de video docid\ qpml112mbhek7lbdguxnv compatible más grande, según lo informado por la pantalla a través de edid el conector de video puede especificarse como "hdmi" o "vga" (estos valores distinguen entre mayúsculas y minúsculas) si la pantalla no devuelve un valor de resolución mediante edid, este método devuelve una cadena vacía si no hay ninguna pantalla conectada, este método devuelve "cannot read edid information" getactivemode() promise\<mode> getactivemode() devuelve una interfaz modo que contiene información sobre el modo de video activo actual getconfiguredmode() promise\<mode> getconfiguredmode() devuelve una interfaz modo que contiene información sobre el modo de video que se ha configurado con el método setmode() si el modo de video no se ha configurado con setmode() (o si se ha establecido en "auto"), este método devolverá null setmode() promise\<setmoderesult> setmode(mode mode) establece el modo de salida de video utilizando una interfaz modo pasada como argumento este método devuelve una promesa que contiene una interfaz setmoderesult que indica si se requiere un reinicio para que la configuración de video especificada surta efecto setcustommodeline() promise\<setmoderesult> setcustommodeline(string modeline) establece el videomode personalizado con el modeline proporcionado (consulte aplicar una resolución personalizada docid 58vplqm4sgh vgqvs4frs ) luego, el videomode personalizado puede seleccionarse usando setmode getscreenmodes() promise\<screenconfiglist> getscreenmodes() devuelve una matriz que describe cada salida disponible en el hardware de su reproductor y cómo están configuradas esas salidas este método se implementó a partir de bos 9 0 15 la interfaz screenconfig contiene la configuración devuelta por getscreenmodes() outputname \<font color="#6554c0">string\</font> hdmi 1, 2, 3 o 4 videomode \<font color="#6554c0">string\</font> el videomode puede ser un videomode con formato brightsign conocido (por ejemplo, 1920x1080x60p) un modeline completo como se describe en esta página docid 58vplqm4sgh vgqvs4frs auto que difiere ligeramente de las plataformas anteriores auto no se recomienda cuando se utilizan múltiples salidas porque las posiciones del lienzo son fijas y, por lo tanto, si una pantalla usa una resolución inesperada, no se posicionará correctamente en el lienzo screenx \<font color="#6554c0">int\</font> la posición de la pantalla en el lienzo el origen (0,0) es la esquina superior izquierda, y cada pantalla puede posicionarse en relación con este esto permite dejar espacios en el lienzo entre pantallas para la compensación del bisel screeny \<font color="#6554c0">int\</font> la posición de la pantalla en el lienzo el origen (0,0) es la esquina superior izquierda, y cada pantalla puede posicionarse en relación con este esto permite dejar espacios en el lienzo entre pantallas para la compensación del bisel transformar \<font color="#6554c0">string \</font> una de las rotaciones normal, 90, 180 o 270 cada pantalla puede rotarse independientemente y cuando una pantalla se rota, todo el contenido, incluido el video, se rotará habilitado \<font color="#6554c0">bool\</font> si la pantalla está habilitada para salida setscreenmodes() promise\<setmoderesult> setscreenmodes(screenconfiglist configs) toma el mismo formato como argumento que devuelve getscreenmodes() de forma predeterminada, una sola pantalla está habilitada el reproductor utiliza gráficos de resolución completa si cualquiera de los videomodes configurados mediante setscreenmodes usa el modificador \ fullres consulte esta página docid\ f0dvnrbdpvgozlrvb29gd para comprender cómo funcionan las coordenadas de visualización x/y con la resolución de salida este método se implementó a partir de bos 9 0 y versiones posteriores modo esta interfaz contiene la configuración de una configuración de video mode en los modos 4k, el plano de gráficos puede ser más pequeño que el plano y la salida de video en estos casos, el plano de gráficos se amplía para coincidir con el plano/salida de video modename \<font color="#6554c0">string\</font> una descripción del modo de video docid 58vplqm4sgh vgqvs4frs (así como cualquier parámetro adicional de parámetros de modo de video docid\ f0dvnrbdpvgozlrvb29gd ) el modo de video también puede configurarse como "auto" docid\ f0dvnrbdpvgozlrvb29gd , “gfxmemlarge” o "custom", que utilizará el modo configurado mediante setcustommodeline espacio de color \<font color="#6554c0">string\</font> el espacio de color de la señal de video ("rgb", "yuv420" o "yuv422") colordepth \<font color="#6554c0">string\</font> la profundidad de color de la señal de video ("8bit", "10bit" o "12bit") frecuencia \<font color="#6554c0">int\</font> la frecuencia de cuadros de la salida de video dropframe \<font color="#6554c0">bool\</font> si el código de tiempo del video utiliza drop frames ancho \<font color="#6554c0">int\</font> el ancho de la salida de video altura \<font color="#6554c0">int\</font> la altura de la salida de video graphicsplaneheight \<font color="#6554c0">int\</font> el ancho del plano gráfico graphicsplanewidth \<font color="#6554c0">int\</font> la altura del plano gráfico preferido \<font color="#6554c0">bool\</font> si el modo de video es el modo preferido , lo que indica al reproductor que solo use el modo de video si el edid de la pantalla indica que es compatible de lo contrario, la salida cambiará por defecto al modo video "auto" docid\ f0dvnrbdpvgozlrvb29gd si no se detecta ningún edid durante el arranque, el reproductor generará el modo de video preferred si posteriormente ocurre un evento de conexión en caliente hdmi ® , entonces el reproductor realizará de nuevo la comprobación del modo de video preferred preferido mode ignora la configuración del perfil de video (es decir, el espacio de color y la profundidad de bits) entrelazado \<font color="#6554c0">bool\</font> si la salida de video es entrelazada overscan \<font color="#6554c0">int \</font> si la salida de video está usando una configuración de overscan o no setmoderesult esta interfaz es devuelta por el método setmode() restartrequired \<font color="#6554c0">bool\</font> un indicador que señala si se requiere o no un reinicio para que el cambio en la configuración de video surta efecto screenconfig outputname \<font color="#6554c0">string\</font> videomode \<font color="#6554c0">string\</font> screenx \<font color="#6554c0">int\</font> screeny \<font color="#6554c0">int\</font> transformar \<font color="#6554c0">string\</font> habilitado \<font color="#6554c0">bool\</font> ejemplo este script recupera el modo de video compatible más grande (según lo informado por el edid de la pantalla a través de hdmi) y establece la salida de video en este modo luego reinicia el reproductor si es necesario var videomodeconfigurationclass = require("@brightsign/videomodeconfiguration"); var videoconfig = new videomodeconfigurationclass(); var systemclass = require("@brightsign/system"); var system = new systemclass(); var bestres = ""; videoconfig getbestmode("hdmi") then( function(data) { bestres = data; }) catch( function(data) { console log(json stringify(data)); }); var configdata = {}; configdata modename = bestres; videoconfig setmode(configdata) then( function(data) { if (data restartrequired === true) { system reboot(); } else { console log("reboot not required ") } }) catch( function(data) { console log(json stringify(data)); });