mplayer音视频同步浅度学习

mplayer播放时的大循环过程为:
while(!mpctx->eof){

  fill_audio_out_buffers();//音频stream的读取,解码,播放
  update_video(&blit_frame);//视频stream的读取,解码,过滤处理
  sleep_until_update(&time_frame, &aq_sleep_time);//计算延迟时间并睡眠等待
  mpctx->video_out->flip_page();//视频的播放
  adjust_sync_and_print_status(frame_time_remaining, time_frame);//根据音视频的PTS做同步矫正处理
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以使用Qt框架来创建一个简单的视频播放器,并在播放过程中显示进度条。首先,你需要安装Qt并配置好开发环境。 以下是一个简单的示例代码,演示了如何在Qt中使用MPlayer播放视频并显示进度条: ```cpp #include <QApplication> #include <QMediaPlayer> #include <QVideoWidget> #include <QSlider> #include <QBoxLayout> int main(int argc, char *argv[]) { QApplication app(argc, argv); // 创建主窗口 QWidget window; window.setWindowTitle("Video Player"); // 创建视频播放器和视频显示窗口 QMediaPlayer player; QVideoWidget videoWidget; player.setVideoOutput(&videoWidget); // 创建进度条 QSlider progressSlider(Qt::Horizontal); progressSlider.setRange(0, 0); // 设置范围为0,用于后续更新 // 连接视频播放器的信号和进度条的槽函数 QObject::connect(&player, &QMediaPlayer::durationChanged, &progressSlider, &QSlider::setMaximum); QObject::connect(&player, &QMediaPlayer::positionChanged, &progressSlider, &QSlider::setValue); // 创建垂直布局,并将视频显示窗口和进度条添加到布局中 QVBoxLayout layout; layout.addWidget(&videoWidget); layout.addWidget(&progressSlider); // 设置主窗口的布局 window.setLayout(&layout); // 打开视频文件 player.setMedia(QUrl::fromLocalFile("path/to/your/video.file")); // 显示主窗口并开始播放视频 window.show(); player.play(); return app.exec(); } ``` 请注意,上述代码中的`"path/to/your/video.file"`应替换为你要播放的视频文件的实际路径。 这只是一个简单的示例,你可以根据需要进行进一步的自定义和功能扩展。希望能对你有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值