1 个不稳定版本
0.5.0 | 2023 年 11 月 16 日 |
---|
#5 在 #libmpv
35KB
630 行
Rust 中的 MPV 插件
为 libmpv 客户端 API 提供绑定,允许你在 Rust 中为 MPV 创建插件。
这是一个基于 TheCactusVert/mpv-client 的分支,支持在 Windows 上开发 mpv C 插件。
目前,这个软件包与原始版本兼容。
示例
以下是一个 Cargo.toml
的示例
[package]
name = "mpv-plugin"
version = "0.1.0"
edition = "2021"
[lib]
name = "mpv_plugin"
crate-type = ["cdylib"]
[dependencies]
mpv-client-dyn = "0.5.0"
然后是代码 src/lib.rs
use mpv_client_dyn::{mpv_handle, Event, Handle};
#[no_mangle]
extern "C" fn mpv_open_cplugin(handle: *mut mpv_handle) -> std::os::raw::c_int {
let client = Handle::from_ptr(handle);
println!("Hello world from Rust plugin {}!", client.name());
loop {
match client.wait_event(-1.) {
Event::Shutdown => { return 0; },
event => { println!("Got event: {}", event); },
}
}
}
依赖项
~0.1–5MB