【发布时间】:2020-10-28 21:47:23
【问题描述】:
我正在尝试使用 Rust 构建一个使用 mpv 播放器的 YouTube 流媒体。我已经成功地从 YouTube 搜索页面中提取了音乐视频的 URL。
我已经设置了一个输入循环来接收用户的命令。根据用户命令采取行动。当用户指定play thisSong 时,音乐视频的 URL 被提取并保存为字符串。现在,我想通过调用 mpv player 来启动一个进程。 mpv 播放器的输出应该被忽略,播放器应该在后台播放音乐,用户应该回到提示符,从那里他可以再次提供命令。
我试图设置它,但问题是一旦mpv 子进程启动,它就会开始接受用户提供的命令给我的main 程序。我希望mpv 忽略这些命令。
let mut youtube_mpv = match Command::new("mpv")
.arg(song_url)
.arg("--no-video")
.arg("--ytdl-format=worst")
.arg("--really-quiet")
.arg("&")
.stdout(Stdio::null())
.spawn()
{
Err(_why) => exit(1),
Ok(process) => process,
};
println!("Playing {} from YouTube", song_name);
【问题讨论】:
标签: rust