程序显示MMSYSTEM281 无法播放该文件
编号:QA002608
建立日期: 2000年2月20日 最后修改日期:2000年2月20日
所属类别:
Q
旋风:
操作系统:PWIN98
编程工具:VB6
问题:如何用mciSendCommand函数打开cdaudio设备。我采用以下程序,但总是出错。
Dim MciError As Long, ErrStr As String
Dim MCIO As MCI_OPEN_PARMS
MCIO.lpstrDeviceType = CStr(MCI_DEVTYPE_CD_AUDIO)
MciError = mciSendCommand(0, MCI_OPEN, MCI_OPEN_TYPE Or MCI_OPEN_TYPE_ID Or MCI_OPEN_SHAREABLE, MCIO)
If MciError = 0 Then
mciSendCommand MCIO.wDeviceID, MCI_CLOSE, MCI_WAIT, 0
Else
ErrStr = Space(255)
mciGetErrorString MciError, ErrStr, 255
MsgBox ErrStr
End If
出错信息如下:
MMSYSTEM281 无法播放该文件。请检查文件名或安装支持这种文件类型的驱动程序。
A回答:
正确的程序定义和使用如下:
Private Const MCI_DEVTYPE_CD_AUDIO = 516
Private Type MCI_OPEN_PARMS
dwCallback As Long
wDeviceID As Long
lpstrDeviceType As Long
lpstrElementName As String
lpstrAlias As String
End Type
Private Declare Function mciSendCommand Lib "winmm.dll" Alias "mciSendCommandA" _
(ByVal wDeviceID As Long, ByVal uMessage As Long, ByVal dwParam1 As _
Long, dwParam2 As Long) As Long
Private Declare Function mciGetErrorString Lib "winmm.dll" Alias "mciGetErrorStringA" _
(ByVal dwError As Long, ByVal lpstrBuffer As String, ByVal uLength As Long) As Long
MCIO.lpstrDeviceType = MCI_DEVTYPE_CD_AUDIO
MciError = mciSendCommand(iDev, MCI_OPEN, MCI_OPEN_TYPE Or MCI_OPEN_TYPE_ID, MCIO.dwCallback)
If MciError = 0 Then
mciSendCommand MCIO.wDeviceID, MCI_CLOSE, MCI_WAIT, 0
Else
ErrStr = Space(255)
mciGetErrorString MciError, ErrStr, 255
MsgBox ErrStr
End If
欢迎到我的VB站点 http://www.applevb.com
此问题由Chen回答。
附加关键字:编程, 源程序, programming, source code, Visual Basic, VB, 多媒体, multimedia, mdi, wav, mp3, rm。
| |
|
|
| |
|
|