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);
}
...全文
420 5 点赞 打赏 收藏 举报
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
mirro187_ 2013-02-08
重复播放的属性吗???
引用 3 楼 sha_jinhao 的回复:
LONG MCIWndClose( hwnd );
  • 打赏
  • 举报
回复
傻X 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的函数是什么?????
  • 打赏
  • 举报
回复
相关推荐
发帖
进程/线程/DLL
加入

1.5w+

社区成员

VC/MFC 进程/线程/DLL
申请成为版主
帖子事件
创建了帖子
2013-02-06 01:45
社区公告
暂无公告