天空 是你的吧 那我就写一下怎么用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");
。。。。。。。。。
里面的命令还有一大推,我这里就不直接写了,这里面好像没有挂代码的地方,那么有需要的朋友就直接找我要,将需要发到我的邮箱,我回尽快的将代码奉献(邮箱:1175157632@qq.com)