vlc开发,本地录像文件回放时,如何一开始就定位到指定时间播放

ronallee 2018-03-27 01:37:58
本地录像文件回放,目前想实现播放位置记忆功能,也就是打开文件后,能够直接定位到 N毫秒 去播放。我是如下实现的(MFC ActiveX 工程):

//路径gb2312转成utf8
CString strUTF8;
ANSItoUTF8(936, pstrFile, CP_UTF8, strUTF8);

libvlc_media_player_stop (pMediaPlayer_);
pMedia_ = libvlc_media_new_path(pVLCInstance_, strUTF8);
if (pMedia_ != NULL)
{
libvlc_media_parse(pMedia_);
m_int64Duration = libvlc_media_get_duration(pMedia_); //获取视频时长
libvlc_media_player_set_media(pMediaPlayer_, pMedia_);
libvlc_media_release(pMedia_);
}

CWnd *pWnd = GetDlgItem(IDC_STATIC_VIDEO);
libvlc_media_player_set_hwnd(pMediaPlayer_, pWnd); //设置播放窗口
libvlc_media_player_play(pMediaPlayer_); //播放
m_pVLCPlayer.SetTime(60000); //定位到6秒开始里播放



以上代码有个问题,就是会播放视频的前几帧,之后才定位到第6秒进行播放,就会产生闪一下的效果,目前没有找到方法解决这个问题,求教。。。
...全文
1713 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
rightorwrong 2018-04-04
  • 打赏
  • 举报
回复
播放必须要从I帧开始播,可以算下I帧间隔。 闪一下,应该是因为调用了libvlc_media_player_play(pMediaPlayer_)和m_pVLCPlayer.SetTime(60000); libvlc_media_player_play(pMediaPlayer_)进行播放,m_pVLCPlayer.SetTime(60000);是到指定位置播放
ronallee 2018-03-27
  • 打赏
  • 举报
回复
求助求助求助求助求助求助求助求助

2,543

社区成员

发帖
与我相关
我的任务
社区描述
专题开发/技术/项目 多媒体/流媒体开发
社区管理员
  • 多媒体/流媒体开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧