Sobre o projeto
Xosms é uma biblioteca de serviço de mídia nativa multiplataforma construída em Rust e exposta ao Node.js, destinada à integração com o serviço de mídia da plataforma anfitriã. De acordo com o README, ela oferece suporte a Windows, macOS e Linux (via MPRIS).
A API é centrada em uma classe MediaPlayer. Os desenvolvedores criam uma instância com um identificador e um nome de exibição e, em seguida, definem metadados como título, artista, título do álbum, volume, taxa de reprodução e taxas de reprodução mínima/máxima permitidas. Ela também expõe sinalizadores para os botões next, previous, play, pause, stop e seek, um sinalizador de tela cheia e uma miniatura criada por meio de MediaPlayerThumbnail.create(uri, url).
O tratamento de eventos é feito por meio de callbacks, que podem ser assíncronos; a biblioteca aguarda a conclusão de cada callback antes de processar o próximo evento do serviço de mídia. Os callbacks documentados abrangem pressionamentos de botão, mudanças de posição, solicitações de seek, mudanças de loop, mudanças de taxa, mudanças de shuffle e mudanças de volume.
Alterações nas propriedades de MediaPlayer são apresentadas somente após chamar update(). O player é registrado na plataforma com activate(), e os recursos devem ser liberados com dispose() para evitar depender da coleta de lixo para nativos da plataforma. O auxiliar platformSharesMediaPlayers() detecta plataformas como macOS, em que o serviço de mídia é um singleton por processo, caso em que apenas uma única instância de MediaPlayer deve ser usada.
Para desenvolvimento local, o projeto exige Rust e pnpm; após clonar, pnpm e pnpm build são usados para instalar dependências e compilar.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.