roCecInterface
10 min
este objeto proporciona acceso al canal hdmi® cec creación de objetos el objeto rocecinterface se puede crear sin parámetros si la interfaz está en hdmi 1 createobject("rocecinterface") si el usuario desea usar cec en otros puertos hdmi, debe especificar el nombre del puerto durante la creación del objeto, donde los valores posibles para puerto son hdmi 1 , hdmi 2 , hdmi 3 , hdmi 4 , hdmi in createobject("rocecinterface", port as string) cuando sea posible, se deben usar las apis de javascript en lugar de brightscript javascript objects la api de javascript equivalente a este objeto es cec docid 8qlyhez1oklpmkp hs3au ifcecinterface sendrawmessage(packet as robytearray) as void envía un mensaje en el bus cec los datos de la trama deben proporcionarse como un robytearray , con la dirección de destino en los 4 bits bajos del primer octeto el software del sistema reemplaza automáticamente los 4 bits altos del primer octeto con la dirección de origen también copia automáticamente la dirección física del reproductor en los siguientes mensajes antes de la transmisión activesource, inactivesource, systemaudiomoderequest el envío de los comandos cec para standby y wake se reflejará en la detección hdmi después de un retraso recomendamos esperar al menos cinco segundos antes de solicitar el estado output powered de gethdmioutputstatus() a partir de brightsign os 8 2 55, la implementación de cec para los productos de la serie au 5 responderá a estos mensajes con los datos correctos, sin involucrar el script cec msg get cec version cec msg abort cec msg give device power status cec msg give osd name cec msg give device vendor id cec msg give features cec msg give physical addr cec msg user control pressed cec msg user control released cec msg report physical addr use el método useinitiatoraddressfrompacket() para evitar que el software del sistema reemplace los bits de origen useinitiatoraddressfrompacket(enable as boolean) as boolean elimina la dirección de origen incluida en los mensajes cec por el software del sistema si se pasa verdadero este método le permite transmitir bytes sin modificar a través de cec getlogicaladdress() as integer devuelve la dirección lógica actual este método devolverá la dirección no registrada (0x0f) para indicar que la dirección lógica no se ha negociado en este caso, aún se pueden enviar mensajes, pero los receptores se comportarán de manera diferente y es posible que no procesen todos los mensajes enablececdebug(filename as string) as void habilita la depuración de cec este método escribirá un registro de todos los paquetes cec en el archivo especificado getphysicaladdress() as robytearray devuelve la dirección física de cec, que a veces es necesaria al procesar mensajes cec portname () opcional puede ser default la salida predeterminada de la plataforma, normalmente hdmi 1 hdmi x x es un número de 1 hasta el número de salidas hdmi en la plataforma earc en el au335 (el valor predeterminado) ifuserdata setuserdata(user data as object) establece los datos de usuario que se devolverán cuando se generen eventos getuserdata() as object devuelve los datos de usuario que se establecieron previamente mediante setuserdata() devolverá invalid si no se ha establecido ningún dato ifmessageport setport(port as romessageport) publica mensajes del tipo rocecrxframeevent y rocectxcompleteevent en el puerto de mensajes adjunto ejemplo consulte el ejemplo de rocecinterface en github https //github com/brightsign/dev cookbook/tree/main/examples/cec interface/brightscript de brightscript