我怎么知道 Rodio 源或接收器何时完成?
How can I know when a Rodio source or sink is done?
我正在尝试用 rodio 播放一些声音。
我正在创建一个 Source
并将其放入 Sink
,但我如何知道其中一个或另一个停止播放的时间?例如,我想在第一首之后转到下一首。
let device = rodio::default_output_device().unwrap();
let sink = Sink::new(&device);
let file = File::open(path).unwrap();
let source = rodio::Decoder::new(BufReader::new(file)).unwrap();
sink.append(source);
我在 rodio 文档中没有找到关于回调或类似内容的任何内容。有一个 Done
struct,但我不清楚如何使用它,甚至不清楚它是否是我要找的东西。
我认为您正在寻找 Sink::done
,其中 returns true
if there are no more samples within the sink to play。
我正在尝试用 rodio 播放一些声音。
我正在创建一个 Source
并将其放入 Sink
,但我如何知道其中一个或另一个停止播放的时间?例如,我想在第一首之后转到下一首。
let device = rodio::default_output_device().unwrap();
let sink = Sink::new(&device);
let file = File::open(path).unwrap();
let source = rodio::Decoder::new(BufReader::new(file)).unwrap();
sink.append(source);
我在 rodio 文档中没有找到关于回调或类似内容的任何内容。有一个 Done
struct,但我不清楚如何使用它,甚至不清楚它是否是我要找的东西。
我认为您正在寻找 Sink::done
,其中 returns true
if there are no more samples within the sink to play。