mp3播放器线程之间使用问题???

mirro187_ 2013-02-06 01:45:02

//全局变量
HWND hMCI = NULL;
int slen = 0;
int spos = 0;
//工具栏单击消息启动的一个线程。
void CMainFrame::OnManageUser()
{
if(!ShowObj.ShowWindow(SW_SHOW))
{
pThread = AfxBeginThread((AFX_THREADPROC)MyThreadProc,GetSafeHwnd());
}
}

UINT WINAPI MyThreadProc(LPVOID pParam)//线程函数启动mp3,倘若,下面这段添加到MainFrame类的OnCreate()函数里,定时器 spos = MCIWndGetPosition(hMCI2);可以判断出值的。
感觉与线程同步没关系,是Mp3类的函数不能跨线程使用吗???调试hMCI2句柄的值都是一样的。
{
hMCI = MCIWndCreate(NULL,NULL,WS_POPUP|MCIWNDF_NOPLAYBAR|MCIWNDF_NOMENU,NULL);
MCIWndOpen(hMCI,"res//back.mp3",0);
hMCI2 = hMCI;
slen = MCIWndGetLength(hMCI);
if(hMCI)
MCIWndPlay(hMCI);
}

void CMainFrame::OnTimer(UINT_PTR nIDEvent)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
spos = MCIWndGetPosition(hMCI2);
if(spos>=slen)
MCIWndPlay(hMCI2);
CFrameWnd::OnTimer(nIDEvent);
}
...全文
471 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
mirro187_ 2013-02-08
  • 打赏
  • 举报
回复
重复播放的属性吗???
引用 3 楼 sha_jinhao 的回复:
LONG MCIWndClose( hwnd );
看不见的裂痕 2013-02-06
  • 打赏
  • 举报
回复
mciSendString 这里面可以指定播放命令
jimette 2013-02-06
  • 打赏
  • 举报
回复
LONG MCIWndClose( hwnd );
mirro187_ 2013-02-06
  • 打赏
  • 举报
回复
不知谁清楚mp3类的关闭mp3与重复播放mp3的函数是什么?????
mirro187_ 2013-02-06
  • 打赏
  • 举报
回复
不知谁清楚mp3类的关闭mp3与重复播放mp3的函数是什么?????

15,473

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧