MFC怎么控制视频切换

MFC如何控制视频切换
大家好,我用Windows Media Player控件播放视频,VC接收串口消息后,根据不同数据播放对应的视频,现在有个问题,就是播放视频中再发送另一数据就无法切换播放,怎么回事呢?是否是收到的串口数据没有更新还是?请帮忙解答,谢谢各位
 代码如下:
[code=C/C++][/code]void CPlayerDlg::OnOnCommMscomm1() 
{
// TODO: Add your control notification handler code here
VARIANT variant_inp;
  COleSafeArray safearray_inp;
  LONG len,k;
  BYTE rxdata[2048]; //设置BYTE数组 An 8-bit integerthat is not signed.
  CString strtemp;
  if(m_ctrlComm.GetCommEvent()==2) //事件值为2表示接收缓冲区内有字符
  { ////////以下你可以根据自己的通信协议加入处理代码
  variant_inp=m_ctrlComm.GetInput(); //读缓冲区
  safearray_inp=variant_inp; //VARIANT型变量转换为ColeSafeArray型变量
  len=safearray_inp.GetOneDimSize(); //得到有效数据长度
  for(k=0;k<1;k++)
  safearray_inp.GetElement(&k,rxdata+k);//转换为BYTE型数组
  for(k=0;k<1;k++) //将数组转换为Cstring型变量
  {
  BYTE bt=*(char*)(rxdata+k); //字符型
  strtemp.Format("%c",bt); //将字符送入临时变量strtemp存放
  m_strRXData+=strtemp; //加入接收编辑框对应字符串
  }
  if(m_strRXData==0x01)
{
LPCSTR url="c:\\1.wmv";
  m_Player.SetUrl(url);
}
else if(m_strRXData==0x02)
{
LPCSTR url="c:\\12.wmv";
  m_Player.SetUrl(url);
}
  }


UpdateData(FALSE); //更新编辑框内容
}

------解决方案--------------------
切换播放前先暂停和停止播放器看看
m_Player.pause(); //暂停
m_Player.stop(); //停止
------解决方案--------------------
调用close方法看看,不行的话,调用

CWMPPlayer4中的GetControls()方法,得到CWMPControls ,然后再调用CWMPControls 
中的pause() 和stop()方法
------解决方案--------------------
调试一下看看执行到切换代码了么
------解决方案--------------------
http://technet.microsoft.com/zh-cn/library/aa388769
参考下MSDN
------解决方案--------------------
我原来试过,直接这样更改是可以切换的,你在里面打个断点,看程序运行到哪,m_strRXData是什么,看有没有变化
------解决方案--------------------
对了,你接收串口的数据没有清空缓存,试试在下一次接收前做Mscomm.InBufferCount=0 操作看看,然后最好打断点自己看看数据改变了没