2013-02-12 78 views
1

我需要同時播放多個wav文件(同時)。它必須有音量控制和停止,暫停和播放的選項。如何在c#中播放多個wav文件.net

我爲此使用naudio dll。它工作正常,但有時應用程序崩潰。

這是我的代碼:

_WavOut = new WaveOut(); 
_WavReader = new WaveFileReader(soundfilepath); 
_WavReader = (WaveFileReader)WaveFormatConversionStream.CreatePcmStream(
    _WavReader); 
_WavOut.Init(_WavReader); 
_WavOut.Play(); 

這是堆棧跟蹤我得到:

在NAudio.Wave.WaveOutBuffer.WriteToWaveOut() 在NAudio.Wave.WaveOutBuffer.OnDone() 在NAudio.Wave.WaveOut.Callback(IntPtr,WaveMessage,IntPtr,NAudio.Wave.WaveHeader,IntPtr)

+0

[你有什麼試過](http://whathaveyoutried.com)? – 2013-02-12 11:17:01

+2

你做了什麼? – spajce 2013-02-12 11:17:31

+0

創建兩個對象:) – 2013-02-12 11:18:36

回答

0

現在我正在使用wmp.dll ..這很好。創建一個windowsmediaplayer對象的對象並給它們播放,然後它將播放並且還能夠通過創建多個對象同時播放多個wav文件,並且在obj.setting.mute = true中也有靜音選項;並且通過使用obj.controlls.stop功能還可以停止播放和恢復選項。

0

如果你使用SoundPlayer,這是不可能的。

+0

我爲此使用naudio dll。它工作正常,但有時應用程序崩潰,當我看到事件日誌,然後我發現以下詳細信息:-Stack: at NAudio.Wave.WaveOutBuffer.WriteToWaveOut() at NAudio.Wave.WaveOutBuffer.OnDone() at NAudio.Wave.WaveOut.Callback(IntPtr,WaveMessage,IntPtr,NAudio.Wave.WaveHeader,IntPtr) – Sonu 2013-02-12 11:24:05