我的波不会在调试下播放。如果我按 CTRL+F5,我会得到一个不错的 WAV,控制台会写出文件光标位置 ( buf.PlayPosition
),然后当声音结束时该方法退出。在调试下(当我只是按 F5 时)没有音频输出,但是文件光标位置在控制台窗口中仍然增加,并且方法无异常退出。
using Microsoft.DirectX.DirectSound;
public void Play()
{
var fileName = "bass.wav";
using (var stream = new FileStream(fileName, FileMode.Open, FileAccess.Read))
{
using (var dev = new Device())
{
dev.SetCooperativeLevel(this, CooperativeLevel.Priority);
using (Buffer buf = new Buffer(stream, dev))
{
buf.Volume = 0;
buf.Play(0, BufferPlayFlags.Default);
while (buf.Status.Playing)
{
System.Console.WriteLine("playing " + buf.PlayPosition);
}
}
}
}
}
有任何想法吗?