这个项目能做什么
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 来安装依赖并进行构建。
评论
0 评分人数达到10人后显示
登录后参与讨论。