10 个版本 (6 个稳定版)

2.0.1 2023 年 6 月 15 日
2.0.0 2022 年 11 月 15 日
2.0.0-rc32022 年 9 月 12 日
2.0.0-rc22020 年 2 月 15 日
0.1.0 2017 年 12 月 28 日

#190Unix API

Download history 421/week @ 2024-04-20 449/week @ 2024-04-27 402/week @ 2024-05-04 333/week @ 2024-05-11 381/week @ 2024-05-18 360/week @ 2024-05-25 374/week @ 2024-06-01 242/week @ 2024-06-08 386/week @ 2024-06-15 381/week @ 2024-06-22 261/week @ 2024-06-29 209/week @ 2024-07-06 345/week @ 2024-07-13 350/week @ 2024-07-20 349/week @ 2024-07-27 342/week @ 2024-08-03

每月 1,419 次下载
16 crates 中使用

Apache-2.0

485KB
10K SLoC

JavaScript 5.5K SLoC // 0.1% comments Rust 3K SLoC // 0.0% comments Python 1K SLoC // 0.2% comments Shell 50 SLoC // 0.2% comments

mpris

Rust 库,用于通过 D-Bus 处理与 MPRIS2 兼容的播放器。

Crates.io Documentation Build Status Actively developed

MPRIS2 是什么?

媒体播放器远程接口规范是一个标准的 D-Bus 接口,旨在提供控制媒体播放器的通用程序 API。

它提供了一个机制来发现、查询和基本播放控制符合规范的媒体播放器,以及一个用于向活动媒体项添加上下文的轨道列表接口。

摘自 关于,在 MPRIS2 规范中

基本上,您可以使用它来控制您计算机上的媒体播放器。这通常用于构建媒体播放器小程序、UI,或在您自己的软件执行某些操作之前暂停其他播放器。

您还可以用它来查询当前播放的元数据,或是否正在播放。

如何使用

use mpris::PlayerFinder;

// Pauses currently playing media and prints metadata information about that
// media.
// If no player is running, exits with an error.
fn main() {
  let player = PlayerFinder::new()
    .expect("Could not connect to D-Bus")
    .find_active()
    .expect("Could not find any player");

  player.pause().expect("Could not pause");

  let metadata = player.get_metadata().expect("Could not get metadata for player");
  println!("{:#?}", metadata);
}

查看 examples 目录以获取更多示例。

许可证

版权所有 2017-2022 Magnus Bergmark

根据 Apache 许可证版本 2.0(“许可证”);除非遵守许可证规定,否则不得使用此文件。您可以在以下位置获取许可证副本:

http://www.apache.org/licenses/LICENSE-2.0

除非适用法律要求或书面同意,否则在许可证下分发的软件按“原样”分发,不提供任何明示或暗示的保证或条件。有关许可证的具体语言、权限和限制,请参阅许可证。

依赖项

~7.5MB
~164K SLoC