本库最重要的概念在于Sou
rce
特征,它表示一个音源(可以是流媒体)。为了播放音频,需要下面三个步骤:
创建一个代表流音频的对象。它可以是一个正弦波、一个缓冲器、一个音频解码器等等。你也可以自己实现
Source
特征作为音源。通过
devices
(设备)或default_output_device
(默认输出设备)函数选择一个音频输出设备。调用
play_raw(output, source)
(播放原始音频)
函数play_raw
(播放原始音频)需要音源产生f32
采样率的音频信号,实际使用时可能音源并非使用f32
的采样率,这种情况下可能会出现编译错误,可以通过调用在音源对象上调用.convert_samples()
修复这个问题。
以下为播放一个音频文件的示范:
use std::fs::File;
use std::io::BufReader;
use rodio::Source;
fn main() {
let (stream, stream_handle) = rodio::OutputStream::try_default().unwrap();
// 使用Cargo.toml文件所在的相对路径加载音频文件
let file = File::open("sound.ogg").unwrap();
let sourc