【发布时间】:2015-05-25 18:00:40
【问题描述】:
我正在尝试将 NAudio 实现到 Unity 中。我设法链接了 NAudio dll,但是当我尝试使用 NAudio BufferedWaveProvider 播放音乐时遇到一个奇怪的错误。
如果我这样做:
WaveOut player;
BufferedWaveProvider buf;
AudioFileReader reader;
void Start () {
reader = new AudioFileReader(@"..\music.mp3"); // some music
player = new WaveOut();
player.Init(reader );
player.Play();
}
音乐播放正常,没有任何问题。
但是当我尝试使用BufferedWaveProvider:
WaveOut player;
BufferedWaveProvider buf;
AudioFileReader reader;
void Start () {
reader = new AudioFileReader(@"..\music.mp3"); // some music
buf = new BufferedWaveProvider(reader.WaveFormat);
byte[] tmp = new byte[50000];
reader.Read(tmp, 0, tmp.Length); //read 50000 bytes
buf.AddSamples(tmp, 0, tmp.Length); //add bytes to buf
player = new WaveOut();
player.Init(buf); //init the WaveOut with buff
player.Play(); // play
}
它不会播放!我调试了很多,发现BufferedWaveProvider 正在使用样本(BufferedBytes 正在降低),但我没有得到任何声音!
我使用BufferedWaveProvider是因为一个更复杂的项目,但在这样一个简单的例子中它已经是一个问题了..
我错过了什么?
注意:相同的代码适用于 C# Windows 窗体...
【问题讨论】: