专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > 汇编语言

关于mci播放完一首歌不能获取MM_MCINOTIFY消息,该如何解决

发布时间:2010-06-14 15:51:19 文章来源:www.iduyao.cn 采编人员:星星草
关于mci播放完一首歌不能获取MM_MCINOTIFY消息
关于Open:
Assembly code

    mov    stMciOpen.lpstrDeviceType,L("MPEGVideo")
    mov    eax,lpFileName
    mov    stMciOpen.lpstrElementName,eax
    invoke     mciSendCommand,0,MCI_OPEN,MCI_OPEN_ELEMENT or MCI_OPEN_TYPE,addr stMciOpen


关于Play:
Assembly code

        push    hWinMain
    pop    @stMciPlay.dwCallback
    invoke    mciSendCommand,hDevice,MCI_PLAY,MCI_NOTIFY,addr @stMciPlay



Assembly code

    .elseif    eax == MM_MCINOTIFY    
        invoke    MessageBox,NULL,L("1"),L("------"),MB_OK
        mov    eax,wParam
        .if     wParam == MCI_NOTIFY_FAILURE
            invoke    MessageBox,NULL,L("-2"),L("------"),MB_OK
        .elseif    wParam == MCI_NOTIFY_SUCCESSFUL
            invoke    MessageBox,NULL,L("-3"),L("------"),MB_OK
        .endif


Assembly code

        invoke    DialogBoxParam,hInstance,DLG_MAIN,NULL,offset _ProcDlgMain,NULL
        invoke    ExitProcess,NULL



刚刚播放歌曲的时候 有的歌曲会弹一下Message ("1") 有的不弹
如果不拖动进度条直到歌曲放完 有时候会弹一下MessageBox("3") 也是阁了很大半天才弹出来
如果拖动滚动条的话 歌放完了 一定不会不弹
快进的话 也不会弹  
我的mci seek是这样的 
Assembly code

    push    hWinMain
    pop    @stSeekParam.dwCallback
    mov    eax,_dwCurrentTime
    mov    @stSeekParam.dwTo,eax
    
    invoke    mciSendCommand,hDevice,MCI_SEEK,MCI_TO or MCI_WAIT,addr @stSeekParam
    push    _dwCurrentTime
    pop    @stMciPlay.dwFrom
    invoke    mciSendCommand,hDevice,MCI_PLAY,MCI_FROM,addr @stMciPlay


哪里 错了 帮忙看看 谢谢了

------解决方案--------------------
是不是歌曲文件的问题。
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: