您的位置:首页 > 编程语言 > Qt开发

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");
。。。。。。。。。
里面的命令还有一大推
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: