MFC音乐播放器暂停功能及播放进度控制
我看别人的代码写了个MFC的音乐播放器,但是暂停功能不太好使,每次一暂停就给停止了,然后再播放就从开头播放了,请问怎么修改啊;代码如下;voidpause(){mciSe...
我看别人的代码写了个MFC的音乐播放器,但是暂停功能不太好使,每次一暂停就给停止了 ,然后再播放就从开头播放了,请问怎么修改啊;代码如下;
void pause()
{
mciSendCommand(DeviceID,MCI_PAUSE,0,0);
}
void play(){
MCI_PLAY_PARMS mciplayparms;
mciplayparms.dwCallback=(DWORD)m_hWnd;
mciplayparms.dwFrom=0;
mciSendCommand(DeviceID,MCI_PLAY,MCI_FROM|MCI_NOTIFY,(DWORD)(LPVOID)&mciplayparms);
}
还有 播放进度如何控制呢,用个slider,不知道怎么获取当前播放进度,还有那个slider怎么自动走,麻烦哪位大侠给下解释啊;谢谢啦; 展开
void pause()
{
mciSendCommand(DeviceID,MCI_PAUSE,0,0);
}
void play(){
MCI_PLAY_PARMS mciplayparms;
mciplayparms.dwCallback=(DWORD)m_hWnd;
mciplayparms.dwFrom=0;
mciSendCommand(DeviceID,MCI_PLAY,MCI_FROM|MCI_NOTIFY,(DWORD)(LPVOID)&mciplayparms);
}
还有 播放进度如何控制呢,用个slider,不知道怎么获取当前播放进度,还有那个slider怎么自动走,麻烦哪位大侠给下解释啊;谢谢啦; 展开
展开全部
1.slider的使用可以查看MSDN
2.暂停和播放的时候,加个变量记录歌曲播放的进度。
2.暂停和播放的时候,加个变量记录歌曲播放的进度。
追问
怎么获取播放进度啊
用这个吗?mciSendCommand(DeviceID,MCI_PAUSE,0,0);这个是暂停函数
追答
我也没接触过 只是有这个想法
搜了一下,网上貌似有讲的
参考:http://download.csdn.net/detail/LY_ZCM/1195714#comment
来自:http://wenku.baidu.com/view/d482d58c680203d8ce2f246f.html###
二MIDI的播放控制
----1.打开设备MCI_OPEN_PARMSOpenParms;OpenParms.lpstrDeviceType=(LPCSTR)MCI_DEVTYPE_SEQUENCER;//MIDI类型OpenParms.lpstrElementName=(LPCSTR)Filename;OpenParms.wDeviceID=0;mciSendCommand(NULL,MCI_OPEN,MCI_WAIT|MCI_OPEN_TYPE|MCI_OPEN_TYPE_ID|MCI_OPEN_ELEMENT,(DWORD)(LPVOID)&OpenParms)----MCI设备ID指明打开了哪个设备,当发送了MCI_OPEN命令时,这个值在参数块中返回——应被保存备用。
----2.关闭设备mciSendCommand(m_wDeviceID,MCI_CLOSE,NULL,NULL);
----3.播放MCI_PLAY_PARMSPlayParms;PlayParms.dwFrom=0;//指定从什么地方(时间)播放mciSendCommand(m_wDeviceID,MCI_PLAY,MCI_FROM,(DWORD)(LPVOID)&PlayParms));
----4.暂停MCI_PLAY_PARMSPlayParms;mciSendCommand(m_wDeviceID,MCI_PAUSE,0,(DWORD)(LPVOID)&PlayParms);
----5.停止mciSendCommand(m_wDeviceID,MCI_STOP,NULL,NULL);
----6.跳跃*跳转到任意地方MCI_SEEK_PARMSSeekParms;SeekParms.dwTo=(nMinute*60+nSecond)*1000;//跳转的目标时间,时间单位为毫秒mciSendCommand(m_wDeviceID,MCI_SEEK,MCI_TO|MCI_WAIT,(DWORD)(LPVOID)&SeekParms);
跳到文件头mciSendCommand(m_wDeviceID,MCI_SEEK,MCI_SEEK_TO_START,NULL);*跳到文件尾mciSendCommand(m_wDeviceID,MCI_SEEK,MCI_SEEK_TO_END,NULL);
还有放不开了,你自己去那个网址看下吧
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询