audio
12 min
el objeto audio es un objeto javascript para usar con ronodejs que permite la reproducción de audio replicando la funcionalidad del elemento de audio html5 idl de audio interface audio { // error state readonly attribute mediaerror error; // network state attribute string src; readonly attribute string currentsrc; readonly attribute unsigned short networkstate; const unsigned short network empty = 0; const unsigned short network idle = 1; const unsigned short network loading = 2; const unsigned short network no source = 3; void load(); string canplaytype(string type); // ready state readonly attribute unsigned short readystate; const unsigned short have nothing = 0; const unsigned short have metadata = 1; const unsigned short have current data = 2; const unsigned short have future data = 3; const unsigned short have enough data = 4; readonly attribute boolean seeking; // playback state attribute double currenttime; readonly attribute double duration; readonly attribute boolean paused; attribute double defaultplaybackrate; attribute double playbackrate; readonly attribute boolean ended; attribute boolean autoplay; attribute boolean loop; void play(); void pause(); void setsyncparams(string domain, string sync id, string iso timestamp); // controls attribute double volume; attribute boolean muted; // brightsign extensions attribute string pcmaudio; attribute string compaudio; attribute int x bs stream timeout; attribute string x bs audio mode; // present but unimplemented attribute string preload; readonly attribute timeranges buffered; readonly attribute double initialtime; readonly attribute date startoffsettime; attribute boolean controls; readonly attribute timeranges played; readonly attribute timeranges seekable; readonly attribute texttrack\[] tracks; mutabletexttrack addtrack(string kind, optional string label, optional string language); }; creación de objetos para crear un objeto audio , primero cargue el módulo brightsign/audio usando el método require() luego cree una instancia de la clase audio usando el siguiente ejemplo var audio class = require("@brightsign/audio"); var audio player = new audio class(); audio use esta interfaz para crear objetos audio evento buscado este evento se activa cuando el medio vuelve en bucle al inicio métodos load() void load() activa el procesamiento de src cargar inicia la reproducción hasta el punto en que está listo para reproducir el primer fotograma si reproducción automática está establecido, también inicia la reproducción readystate y networkstate se modifican y se activan múltiples eventos a medida que comienza la reproducción canplaytype() string canplaytype(string type) devuelve si el tipo mime pasado puede mostrarse en el reproductor brightsign play() void play() inicia o reanuda la reproducción pause() void pause() pausa la reproducción setsyncparams() void setsyncparams(string domain, string sync id, string iso timestamp) esta extensión de brightsign está documentada en esta página docid\ tqfzr6uwowknztqk9bvq2 parámetros de audio src \<font color="#6b21a8">string\</font> contiene la url de un recurso multimedia que se usará en el elemento actualmente solo se admiten url de archivos, incluidas url relativas al script actual y un uri file /// con una ruta absoluta del sistema de archivos en el reproductor la url devuelta al leer este valor nuevamente siempre es absoluta con el protocolo file al inicio currentsrc \<font color="#6b21a8">string\</font> contiene la url del recurso multimedia que está usando el elemento networkstate \<font color="#6b21a8">unsigned short\</font> un enum que indica el estado actual de la obtención del contenido multimedia este atributo pasa por los estados a medida que se selecciona src y comienza la reproducción, pero debido a que actualmente el soporte es solo para archivos, no es tan dinámico como cuando se usa con http los valores posibles son network empty = 0, network idle, network loading, network no source readystate \<font color="#6b21a8">unsigned short\</font> indica el estado de preparación del contenido multimedia este atributo pasa por los estados a medida que se selecciona src y comienza la reproducción los valores posibles son have nothing = 0, have metadata, have current data, have future data, have enough data buscando \<font color="#6b21a8">boolean\</font> indica si el contenido multimedia está buscando una nueva posición horaactual \<font color="#6b21a8">double\</font> especifica el tiempo de reproducción actual en segundos como un número de punto flotante actualmente la búsqueda no es compatible, y establecer este atributo no tiene efecto si la reproducción se completa, esto devuelve el mismo valor que duration duración \<font color="#6b21a8">double\</font> especifica la duración actual del contenido multimedia en segundos como un número de punto flotante en pausa \<font color="#6b21a8">boolean\</font> refleja si la reproducción multimedia está actualmente en pausa defaultplaybackrate \<font color="#6b21a8">double\</font> esto no puede establecerse en ningún valor distinto de 1 0, y siempre devuelve 1 0 (solo se admite la reproducción a velocidad normal) velocidad de reproducción \<font color="#6b21a8">double\</font> esto no puede establecerse en ningún valor distinto de 1 0, y siempre devuelve 1 0 (solo se admite la reproducción a velocidad normal) terminado \<font color="#6b21a8">boolean\</font> refleja cuando la reproducción multimedia ha llegado al final del contenido multimedia reproducción automática \<font color="#6b21a8">boolean\</font> indica si la reproducción debe comenzar automáticamente cuando el contenido multimedia esté disponible para reproducirse sin interrupciones bucle \<font color="#6b21a8">boolean\</font> establece si la reproducción debe repetirse o no el valor se utiliza cuando se llama a load configurarlo una vez que la reproducción ha comenzado no tendrá efecto volumen \<font color="#6b21a8">double\</font> controla el volumen de la reproducción silenciado \<font color="#6b21a8">boolean\</font> controla el silenciamiento y la reactivación del audio pcmaudio \<font color="#6b21a8">string\</font> enruta audio pcm decodificado a las salidas en la cadena las salidas disponibles son analógico , earc , o una salida usb (por ejemplo, usb\ a 0 ) se pueden especificar múltiples salidas utilizando un delimitador de punto y coma (por ejemplo, earc; analógico ) compaudio \<font color="#6b21a8">string\</font> enruta audio comprimido directamente a earc sin decodificación solo puede establecerse en earc x bs stream timeout \<font color="#6b21a8">int\</font> controla los tiempos de espera durante la transmisión x bs audio mode \<font color="#6b21a8">string\</font> controla la mezcla descendente de audio a mono los valores posibles son monoleftmixdown , monorightmixdown , y el valor predeterminado que es estéreo con esto, dos reproductores de audio pueden emitir a una sola salida estéreo, uno al canal izquierdo y el otro al canal derecho métodos y propiedades no implementados precargar almacenado en búfer initialtime horadedesplazamientoinicial controles jugado buscable pistas ejemplos const audio class = require("@brightsign/audio"); let audio player = new audio class(); audio player src = "/storage/sd/file mp4" audio player volume = 5; audio player load(); audio player play(); let setupaudio = (audio, setupobj) => { for (let \[key, val] of object entries(setupobj)) { audio\[key] = val; } } let interval = setinterval(()=>{}, 10000); const audio class = require("@brightsign/audio"); let audio = new audio class(); let settings = { src '/storage/sd/file mp4', autoplay true, loop false, volume 5, pcmaudio "analog" }; setupaudio(audio, settings); audio load(); audio addeventlistener("ended", () => { audio src = ''; audio = null; clearinterval(interval); process exit(0); });