このプロジェクトについて
Xosmsは、Rustで構築されNode.jsに公開されたクロスプラットフォームのネイティブメディアサービスライブラリであり、ホストプラットフォームのメディアサービスとの統合を目的としている。READMEによると、Windows、macOS、Linux(MPRIS経由)をサポートする。
APIの中心はMediaPlayerクラスである。開発者は識別子と表示名でインスタンスを作成し、タイトル、アーティスト、アルバムタイトル、音量、再生レート、許可される最小/最大再生レートなどのメタデータを設定する。また、次へ、前へ、再生、一時停止、停止、シークボタンのフラグ、全画面フラグ、MediaPlayerThumbnail.create(uri, url)で作成されるサムネイルも公開する。
イベント処理はコールバックを通じて行われ、非同期の場合もある。ライブラリは次のメディアサービスイベントを処理する前に、各コールバックが完了するのを待つ。文書化されているコールバックは、ボタン押下、位置変更、シーク要求、ループ変更、レート変更、シャッフル変更、音量変更をカバーする。
MediaPlayerプロパティへの変更は、update()を呼び出した後にのみ反映される。プレイヤーはactivate()でプラットフォームに登録され、リソースはdispose()で解放すべきであり、プラットフォームネイティブのガベージコレクションに依存しないようにする。ヘルパーplatformSharesMediaPlayers()は、メディアサービスがプロセスごとにシングルトンであるmacOSなどのプラットフォームを検出し、その場合は単一のMediaPlayerインスタンスのみを使用すべきである。
ローカル開発にはRustとpnpmが必要である。クローン後、pnpmとpnpm buildを使用して依存関係をインストールしビルドする。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.