我在客户端的线程函数里接收服务器端发来的媒体地址,然后Windows Media player activex组件播放,10秒播放一个地址,怎么播放器总是出现闪烁,有时闪没了,对话框中看不到Windows Media player组件,过会又出现。不知咋回事,很晕!请教各位大侠!源码:
线程函数:
DWORD WINAPI ThreadProc(LPVOID pThis)
{
CTcpClientDlg *pDlg = (CTcpClientDlg*)pThis; char chr[5000];
memset(chr,0,5000);
CString url;
CSocket socket;
socket.Create();
if(socket.Connect("192.168.1.250",9880))
{
while(!pDlg->m_bStopThread)
{ socket.Send(headBuffer,headBuffer.GetLength()); socket.Receive(chr,4999); CString temp,temp1;
temp.Format("%s",chr);
temp1=headBuffer+temp;
cfile.SeekToEnd();
cfile.Write(temp1,temp1.GetLength());
pDlg->m_edit.SetWindowText(chr);
pDlg->m_edit.GetWindowText(url);
pDlg->PostMessage(WM_MEDIAMSG,0,(LPARAM)url.GetBuffer());
url.ReleaseBuffer();
Sleep(10000);
}
// free(buffer);
}
socket.Close();
}else
{
TRACE("Hello Connect failed Error:%d\n",WSAGetLastError());
}
pDlg->PostMessage(WM_THREADMSG,0,0);
return 0;
}消息函数
LRESULT CTcpClientDlg::OnStartMedia(WPARAM wParam,LPARAM lParam)
{
CString url;
url=(char *)lParam;
if(url.Find("Login failed")==-1)
m_Player.put_URL(url);
return -1;
}
线程函数:
DWORD WINAPI ThreadProc(LPVOID pThis)
{
CTcpClientDlg *pDlg = (CTcpClientDlg*)pThis; char chr[5000];
memset(chr,0,5000);
CString url;
CSocket socket;
socket.Create();
if(socket.Connect("192.168.1.250",9880))
{
while(!pDlg->m_bStopThread)
{ socket.Send(headBuffer,headBuffer.GetLength()); socket.Receive(chr,4999); CString temp,temp1;
temp.Format("%s",chr);
temp1=headBuffer+temp;
cfile.SeekToEnd();
cfile.Write(temp1,temp1.GetLength());
pDlg->m_edit.SetWindowText(chr);
pDlg->m_edit.GetWindowText(url);
pDlg->PostMessage(WM_MEDIAMSG,0,(LPARAM)url.GetBuffer());
url.ReleaseBuffer();
Sleep(10000);
}
// free(buffer);
}
socket.Close();
}else
{
TRACE("Hello Connect failed Error:%d\n",WSAGetLastError());
}
pDlg->PostMessage(WM_THREADMSG,0,0);
return 0;
}消息函数
LRESULT CTcpClientDlg::OnStartMedia(WPARAM wParam,LPARAM lParam)
{
CString url;
url=(char *)lParam;
if(url.Find("Login failed")==-1)
m_Player.put_URL(url);
return -1;
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货