Моя волна не будет воспроизводиться при отладке. Если я нажимаю 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);
}
}
}
}
}
Есть идеи?