我使用罗迪奥来复制某些文件,下面的代码如下:
extern crate rodio;
use std::io::BufReader;
use std::time::Duration;
//..
let endpoint = rodio::get_default_endpoint().unwrap();
let file = std::fs::File::open("./sound/beep2.wav").unwrap();
let mut beep1 = rodio::play_once(&endpoint, BufReader::new(file)).unwrap();
beep1.set_volume(0.1);在开始播放的时候,我听到一种声音,就像开始时的连接噪音。此示例文件(beep2.wav)在普通播放器程序中不受干扰地播放。
我已经创建了替代代码,但是噪音保持不变:
//test duracion inicio
use rodio::Sink;
use rodio::Source;
let mut sink = Sink::new(&endpoint);
let source = rodio::Decoder::new(BufReader::new(file)).unwrap();
sink.append(source);
sink.set_volume(0.01);我做错了什么?如何在复制开始时解决这个噪音?
发布于 2017-05-16 19:15:49
问题是您正在调用set_volume(0.1),这将导致您的波形不连续。这会在你的扬声器锥中产生一个理论上的瞬间运动,听起来就像一个弹奏或点击。如果您删除了set_volume行,它应该会修复您的问题。
https://stackoverflow.com/questions/43990790
复制相似问题