vs2013MFC初学者,编写视频播放器时遇到了点问题,求解
void CMediaPlayerDlg::OnTimer(UINT_PTR nIDEvent)
{
play *p = new play();
int index = p->m_Player2.get_playState; //播放状态
if (index == 1)
{
if (((CButton *)GetDlgItem(IDC_RADIO1))->GetCheck()) //如果顺序播放
{
CString str;
int index = m_list.GetCurSel() + 1;
if (index >= m_list.GetCount()) index = 0; //播放完最后一个,自动播放第一个
m_list.GetText(index, str);
p->m_Player2.put_URL(str);
m_list.SetCurSel(index); //自动设置光标
}
if(((CButton *)GetDlgItem(IDC_RADIO2))->GetCheck()) //随机播放
{
srand(time(0));
m_list.SetCurSel(rand() % m_list.GetCount());
m_list.GetText(m_list.GetCurSel(),PathName);
p->m_Player2.put_URL(PathName);
}
if (((CButton *)GetDlgItem(IDC_RADIO3))->GetCheck())
CString str;
m_list.GetText(m_list.GetCurSel(), str);
p->m_Player2.put_URL(PathName);
CDialogEx::OnTimer(nIDEvent);
delete p;
}
因为点击播放按钮要弹出一个新的窗口播放视频,所以新创了一个对话框,并且媒体播放器控件的类的对象是在那里面定义的。
这是一个实现顺序播放随机播放的函数,但编译时总是出现断言,求大神帮忙
下面是新对话框类
class play : public CDialogEx
{
DECLARE_DYNAMIC(play)
public:
play(CWnd* pParent = NULL); // 标准构造函数
virtual ~play();
// 对话框数据
enum { IDD = IDD_PLAY };
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
DECLARE_MESSAGE_MAP()
public:
CWMPPlayer4 m_Player2;
};