Sobre el proyecto
Xosms es una biblioteca de servicios de medios nativos multiplataforma construida en Rust y expuesta a Node.js, destinada a la integración con el servicio de medios de la plataforma host. Según el README, es compatible con Windows, macOS y Linux (vía MPRIS).
La API se centra en una clase MediaPlayer. Los desarrolladores crean una instancia con un identificador y un nombre de visualización, luego establecen metadatos como título, artista, título del álbum, volumen, velocidad de reproducción y las velocidades de reproducción mínima/máxima permitidas. También expone flags para los botones siguiente, anterior, reproducir, pausar, detener y buscar, un flag de pantalla completa y una miniatura creada a través de MediaPlayerThumbnail.create(uri, url).
El manejo de eventos se realiza mediante callbacks, que pueden ser asíncronos; la biblioteca espera a que cada callback termine antes de procesar el siguiente evento del servicio de medios. Los callbacks documentados cubren pulsaciones de botones, cambios de posición, solicitudes de búsqueda, cambios de bucle, cambios de velocidad, cambios de aleatoriedad y cambios de volumen.
Los cambios en las propiedades de MediaPlayer se presentan solo después de llamar a update(). El reproductor se registra en la plataforma con activate(), y los recursos deben liberarse con dispose() para evitar depender de la recolección de basura para los nativos de la plataforma. El ayudante platformSharesMediaPlayers() detecta plataformas como macOS donde el servicio de medios es un singleton por proceso, en cuyo caso solo se debe usar una única instancia de MediaPlayer.
Para el desarrollo local, el proyecto requiere Rust y pnpm; después de clonar, se utilizan pnpm y pnpm build para instalar las dependencias y realizar la construcción.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.