使用MediaPlayer
QT5版本以上使用
使用Phonon
QT4版本使用
单独使用phonon
//Phonon::VideoPlayer *player = new Phonon::VideoPlayer(Phonon::VideoCategory,&w); //player->load(Phonon::MediaSource("/home/pi/Downloads/faceu_-413_20201227185851824.mp4")); //player->play(); Phonon::MediaObject *mediaObject =new Phonon::MediaObject(&w); Phonon::VideoWidget *videoWidget =new Phonon::VideoWidget(&w); videoWidget->setScaleMode(Phonon::VideoWidget::ScaleAndCrop); Phonon::createPath(mediaObject, videoWidget); //QUrl url("//www.le.com/ptv/vplay/26311089.html"); //mediaObject->setCurrentSource(url); QString str("/home/pi/Downloads/sample-mpg-file.mpg"); mediaObject->setCurrentSource(Phonon::MediaSource(str)); videoWidget->setAspectRatio(Phonon::VideoWidget::AspectRatioWidget); mediaObject->play(); w.show();
常用phonon组合
Phonon + Phonon_mplayer +mplayer
因为phonon是QT一个播放媒体的API,但是自身不带解码器,需要配一个后端如mplayer,以及封装插件Phonon_mplayer来搭配使用,安装复杂
本文福利,莬费领取Qt开发学习资料包、技术视频,内容包括(C++语言基础,Qt编程入门,QT信号与槽机制,QT界面开发-图像绘制,QT网络,QT数据库编程,QT项目实战,QSS,OpenCV,Quick模块,面试题等等)↓↓↓↓↓↓见下面↓↓文章底部点击莬费领取↓↓
使用进程和mplayer
使用 QProgress +mplayer 是一个绕过API的方法,而且C语言也可以通过系统编程来控制mplayer
需要学习mplayer的控制指令
用一个按钮和窗口实现mplayer在窗口内播放
步骤:
- 创建一个进程
- 设置mplayer为slave、quiet模式
- 设置要播放的文件名
- 使用winId来获取内窗口位置,设置"-wid"来定位mplayer在哪个widget进行显示
- 使用进程指令函数 start(command); 启动进程
void Widget::on_pushButton_clicked(){ QProcess *process = new QProcess(this); QStringList args; args << "-slave"; //使用slave模式 args << "-quiet"; //不要输出冗余信息 args << "/home/pi/Videos/sample_640x360.mpg"; args << "-wid"; args << QString::number(ui->widget->w