qt里面如何调用mplayer
2015-06-02 19:54
831 查看
转自:http://blog.sina.com.cn/s/blog_a5fdbf0101010vdz.html
这段时间研究QT+mplayer,今天有时间就写一下qt来调用mplayer来做视频播放器吧!!!
在qt里面有一个类QProcess,这个类的作用是调用外部的可执行程序,在qt里面使用这个类
来调用外面的mplayer来播放视频,在这里就需要在提到买player的一种播放模式——slave模式,这种模式下面,是通过管道发送给mplayer相应的信息(在qt里面调用了mplayer后,就相当于产生了一个进程),就是,简单的说,在这种模式下面,你可以在程序里面来写入相应的命令来控制mplayer的播放,下面给出一点相应的实现代码:
首先,要创建一个累QProcess
mplayerProcess = new QProcess(this);
mplayerProcess->setProcessChannelMode(QProcess::MergedChannels);
//这个一定要设置
mplayerProgram
= tr("/usr/bin/mplayer"); //你的mplayer的路径
timeClock
= new QTimer(this);
接下来就是通过命令来控制mplayer播放了:
QStringList args;
args
<< tr("-slave");
args
<< "-quiet";
args
<< "-zoom";
args
<< tr("-wid") << QString::number(ui->widget->winId()); //这个是将mplayer的输出(就是视频定位到你自己的窗口中)
args
<< fileName;
mplayerProcess->start(tr("/usr/bin/mplayer"),
args); /开始播放视频,
暂停功能,往mplayer里面写入"pause"来实现,如果视频本身已经暂停了,那么这个命令就是播放了
mplayerProcess->write("pause\n");
快退 下面的这个实现快退10s
mplayerProcess->write("pausing_keep
seek -10 0\n");
快进 下面的实现快进的功能
mplayerProcess->write("pausing_keep seek +10 0\n");
。。。。。。。。。
里面的命令还有一大推
这段时间研究QT+mplayer,今天有时间就写一下qt来调用mplayer来做视频播放器吧!!!
在qt里面有一个类QProcess,这个类的作用是调用外部的可执行程序,在qt里面使用这个类
来调用外面的mplayer来播放视频,在这里就需要在提到买player的一种播放模式——slave模式,这种模式下面,是通过管道发送给mplayer相应的信息(在qt里面调用了mplayer后,就相当于产生了一个进程),就是,简单的说,在这种模式下面,你可以在程序里面来写入相应的命令来控制mplayer的播放,下面给出一点相应的实现代码:
首先,要创建一个累QProcess
mplayerProcess = new QProcess(this);
mplayerProcess->setProcessChannelMode(QProcess::MergedChannels);
//这个一定要设置
mplayerProgram
= tr("/usr/bin/mplayer"); //你的mplayer的路径
timeClock
= new QTimer(this);
接下来就是通过命令来控制mplayer播放了:
QStringList args;
args
<< tr("-slave");
args
<< "-quiet";
args
<< "-zoom";
args
<< tr("-wid") << QString::number(ui->widget->winId()); //这个是将mplayer的输出(就是视频定位到你自己的窗口中)
args
<< fileName;
mplayerProcess->start(tr("/usr/bin/mplayer"),
args); /开始播放视频,
暂停功能,往mplayer里面写入"pause"来实现,如果视频本身已经暂停了,那么这个命令就是播放了
mplayerProcess->write("pause\n");
快退 下面的这个实现快退10s
mplayerProcess->write("pausing_keep
seek -10 0\n");
快进 下面的实现快进的功能
mplayerProcess->write("pausing_keep seek +10 0\n");
。。。。。。。。。
里面的命令还有一大推
相关文章推荐
- Qt连接MySQL
- QTP 对象库参数化解决多语言
- 基于openfire与Spark,Qt环境下开发IM
- QT入门指导
- VS2010开发Qt程序,显示qDebug信息(添加DOS窗口)
- QTCreator快捷键
- QT中PRO文件写法
- QTcreator的一些设置
- Qt4源码在Qt5中打开遇到的问题总结
- mqtt学习资料
- Qt4.8.1中 没有找到mingwm10.dll 完美解决
- QT license gen tool开发总结
- vs2010+Qt5.3+mysql5.5
- Qt on Anrdoid运行流程
- qt release打包发布
- QT的正则表达式用法
- ubuntu下qt运行时/usr/bin/ld: cannot find -lGL
- opencv & qt study-(2)-打开video& camera
- Windows下Qt5环境搭建
- qt4 向 qt5 迁移