热情软件屋

 

程序显示MMSYSTEM281 无法播放该文件


编号:QA002608
建立日期: 2000年2月20日 最后修改日期:2000年2月20日
所属类别:

旋风:
    操作系统: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 无法播放该文件。请检查文件名或安装支持这种文件类型的驱动程序。

回答:

    正确的程序定义和使用如下:
    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

 
把这个问题推荐给朋友
   
   
您的意见类别
您的名字
您的电子邮件
您的建议(请尽可能详细)
 
 

版权所有 1997-2008 热情软件屋
如果您有任何建议和意见, 请给我发个电子邮件 askpro@china-askpro.com
Web Designed by ZebraStudio