c#中实现二块声卡同时工作,程序指定设备ID无效,急!
我有一个项目,要用到两块声卡,同时工作播放声音,用如下二种方法都不能实现,都是windows指定的好块声卡工作。请求帮助:
一:用MMControl控件
axMMControl1.Notify = false;
axMMControl1.Wait = true;
axMMControl1.Shareable = false;
axMMControl1.DeviceID = 1; //0或1
axMMControl1.DeviceType = "WAVEAUDIO";
axMMControl1.FileName = "c:\\Windoww.wav";
axMMControl1.Command = "open";
axMMControl1.Command = "play";
二:用winmms.dll
int b = WaveLib.WaveNative.waveOutGetID(); //得到的b值为11,在一块和二块电脑上的值是一样的。
WaveLib.WaveFormat fmt = new WaveLib.WaveFormat(44100, 16, 2);
m_Player = new WaveLib.WaveOutPlayer(0, fmt, 16384, 3, new WaveLib.BufferFillEventHandler(Filler)); //指定0和1一样无效,通过WaveNative.waveInGetNumDevs()得到的值是2,说明有读取到2块声卡信息
int c = WaveLib.WaveNative.waveInPrepareHeader(m_WaveOut,ref m_Header,3);
int d = WaveLib.WaveNative.waveOutWrite(m_WaveOut, ref m_Header, 3);
WaveLib.WaveNative.PlaySound("c:\\Windoww.wav", 0, 0);