我需要从Visual Basic 6应用程序播放声音(.WAV文件)。但是,PC配有多个声卡,用户应该可以使用它。
到目前为止,支持默认声卡,我会播放这样的声音:
CommandString = "Open " & Chr$(34) & mstrFilename & Chr$(34) & " type waveaudio alias MediaFile"
mciSendString CommandString, vbNullString, 0, 0&
If PlayFromPercent <= 0 Then
CommandString = "play MediaFile"
lngRetcode = mciSendString(CommandString, vbNullString, 0, 0&)
Else
CommandString = "play MediaFile from " & CLng(lngLength * (PlayFromPercent / 100))
lngRetcode = mciSendString(CommandString, vbNullString, 0, 0&)
End If
有没有办法让这个代码适应特定的声卡,或者我可以采取不同的方法(例如DirectX或商业第三方图书馆)?
奖励,如果该方法支持从特定位置播放文件(如您所见,上面的代码支持它)
答案 0 :(得分:1)
这可能有用;使用mciSendCommand()
&amp;拨打MCI_SET
MCI_WAVE_SET_PARMS
将wOutput
设置为所需的播放设备ID。
IDDevice
mciSendCommand()
的{{1}}
mciGetDeviceID("waveaudio")
想要什么,它可能与wOutput