读书人

播放器的进度条有关问题

发布时间: 2012-05-02 15:36:04 作者: rapoo

播放器的进度条问题
我用Media控件做了一个播放器,然后用SliderCtrl控件做了一个播放进度条,为了让进度滑块随着播放进度自行移动,我的方法是设置了一个定时器,每秒刷新进度条的位置,这样虽然能移动了但是带来一个问题:我在拖动滑块的时候如果超过一秒没松开鼠标,则滑块会跳回原来的位置。
请问让进度滑块自行移动有什么另外的方法么?我的方法产生的问题怎么能解决呢?

[解决办法]
手头正好有我用directshow写的播放器,处理滑动条的代码,没你说的问题,可能是你的逻辑没处理好

C/C++ code
//RUN时调用SetTimer(1,200,NULL);void CDSSampleDlg::OnTimer(UINT_PTR nIDEvent){    // TODO: 在此添加消息处理程序代码和/或调用默认值    if (nIDEvent==g_timer&&pMSeek)    {        pMSeek->GetCurrentPosition(&g_currenPos);        pMSeek->GetDuration(&g_DurationPos);        int newpos=(int)(g_currenPos*1000/g_DurationPos);        if (newpos!=m_Slider.GetPos())        {            m_Slider.SetPos(newpos);        }    }    CDialog::OnTimer(nIDEvent);}st 

读书人网 >VC/MFC

热点推荐