QT调用mplayer
来源:互联网 发布:莱阳螳螂拳淘宝 编辑:程序博客网 时间:2024/05/25 23:58
转载地址:http://blog.sina.com.cn/s/blog_6273cce40100izdl.html
在上一篇博客中已经编译安装好了Mplayer,其只是一个简单的后台播放程序,没有窗口按钮,没有皮肤。但可以通过Qt编写一个前端程序,调用后台的Mplayer,实现一个多媒体播放器。
可以先通过designer来设计一个简单的播放界面,然后再编写头文件和实现文件。
通过定义QProcess对象来调用已经编译好的Mplayer。
mplayerProcess= new QProcess();
//QProcess:该类用来启动一个外部程序,并且与之交互通信。
mplayerProcess->setProcessChannelMode(QProcess::MergedChannels);
//voidQProcess::setProcessChannelMode():Sets the channel mode ofthe QProcess standard output and standard error channels to themode specified. This mode will be used the next time start() iscalled. 将QProcess类的标准输出和标准错误信道模型,设置成指定的模型。
通过如下代码可以读出信息:
connect(mplayerProcess,SIGNAL(readyReadStandardOutput()), this, SLOT(catchOutput())));
当mplayerProcess有可读取的信息时,readyReadStandardOutput()函数发出信号,然后在槽函数catchOutput()中读取该信息。
voidcatchOutput()
{
while(mplayerProcess->canReadLine());
{
QByteArraybuffer(mplayerProcess->readLine());//QByteArray:提供一个字节数组,buffer即为读取的信息。我们可以根据需要获取需要的信息。
log->append(QString(buffer));//log是之前定义的一个QTextEdit类,用来显示只读信息。这里就是将buffer获取的信息,让log函数显示出来。
......
}
}
另外有很多命令可以实现设置Mplayer的功能。比如上图我们调用了一个QSlider类,滑块类来显示播放时间的进度。
poller = newQTimer();
connect(poller, SIGNAL(timeout()), this,SLOT(pollerCurrentTime()));
voidpollerCurrentTime()
{
mplayerProcess->write("get_time_pos/n");//可以将时间在标准输出显示
}
还有一些其他功能,比如快进:process->write("seek ** 1/n");
音量调节:
Process->write("volume -1/n"); //音量减小
Process->write("volume +1/n");//音量增加
静音功能:
process->write("mute 0/n"); //开启静音
process->write("mute 1/n"); //关闭静音
等等,这里只是简单的琢磨了一下Qt程序调用Mplayer的方法,要设计一个mplayer的前端程序,后期编程还是有一定难度的。
- qt 调用 mplayer
- Qt 调用mplayer视频
- QT调用mplayer
- QT调用mplayer(转)
- QT调用mplayer
- qt调用mplayer
- QT调用mplayer
- <Linux+Qt>调用mplayer
- Qt调用mplayer
- QT调用mplayer 暂停 进度
- qt里面如何调用mplayer
- qt调用MPlayer的动态播放列表方案
- qt调用MPlayer的动态播放列表方案
- <Qt>windows平台调用mplayer播放视频
- Qt mplayer
- Qt调用mplayer做一个小小的视频播放器
- Qt编程控制Mplayer
- QT 基于mplayer媒体播放器
- 快速选择算法
- 用户 'sa' 登录失败及Sa密码相关处理
- struts2 ModelDriven
- 用attribute实现ORM
- poj2756解题报告
- QT调用mplayer
- 激活雪豹上的LAMP
- java中的instanceof 关键字
- 用Ogre生成天龙八部的lightmap和minimap的简单方法
- win7系统如何开启AHCI
- Code::Blocks搭配VC8编译资源文件
- 百度搜索技术沙龙感悟
- c++ 初学者指南 第八篇(4)
- 浪费掉的一周