首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 汇编语言 >

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

2012-02-12 
关于mci播放完一首歌不能获取MM_MCINOTIFY消息关于Open:Assembly codemovstMciOpen.lpstrDeviceType,L(MP

关于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

哪里 错了 帮忙看看 谢谢了

[解决办法]
是不是歌曲文件的问题。

热点排行