Qt编写Mplayer前端程序实例

移动开发
本文介绍Qt编写Mplayer前端程序实例,感觉效果很好,那请抓紧时间看内容。

本文介绍Qt编写Mplayer前端程序实例,效果出来挺炫的。编写一个自己的mplayer前端程序,根据自己的喜好设计界面。是一件很不错的事情。

首先设计一个漂亮的界面,可以通过designer设计。

Qt编写Mplayer前端程序实例

通过定义一个QProcess对象调用已编译好的Mplayer。

  1. QProcess *process = new QProcess();  
  2. process->setProcessChannelMode(QProcess::MergedChannels);  
  3. Process->start(“mplayer –ac –mad xxxxx”); 

在命令中添加 -slave 和 -quiet就可以通过命令设置Mplayer实现相应的功能。在mplayer源码中的,slave.txt中对这些命令有详细的Process->start(“mplayer –slave –quiet –ac –mad xxxxx”);
 
1.暂停功能

通过如下代码可以设置Mplayer暂停。

  1. process->write(“pause\n”); 

执行这段代码的时候如果是播放状态就会暂停,暂停状态时就会继续播放。

2.获取播放文件的总时间和当前播放进度。

执行下面代码时,Mplayer将时间在标准输出显示。

  1. process->write(“get_time_pos\n”);  
  2.         process->write(“get_time_length\n”); 

通过如下代码即可读出我们需要的信息:

  1. connect(process,SIGNAL(readyReadStandardOutput()),this,SLOT(back_message_slots())); 

process有可读取的信息时,发出信号,在槽函数back_message_slots()中读取信息。

  1. void MPlayer::back_message_slots()  
  2.         {  
  3.                 while(process->canReadLine())  
  4.                 {  
  5.                         QString message(process->readLine());  
  6.                         //message即为读取的信息我们可以根据需要取我们要的信息如  
  7.                         //文件总时间为:ANS_LENGTH=23.00  
  8.                         //当前时间为:ANS_TIME_POSITION=23.00  
  9.                 }  
  10.         } 

3.快进功能

  1. seek <value> [type]  
  2.         Seek to some place in the movie  
  3.                 0 is a relative seek of +/- <value> seconds (default).  
  4.                 1 is a seek to <value> % in the movie.  
  5.                 2 is a seek to an absolute position of <value> seconds. 

下面代码即可实现快进功能:

  1. process->write(“seek ** 1\n”); 

4.音量调节

  1. volume <value> [abs]  
  2.         Increase/decrease volume or set it to <value> if [abs] is nonzero.  
  3. 下面代码即可实现快进功能:  
  4. Process->write(“volume -1\n”); //音量减小  
  5.         Process->write(“volume +1\n”); //音量增加 

5.静音功能

  1.  mute [value]  
  2.         Toggle sound output muting or set it to [value] when [value] >= 0  
  3.         (1 == on, 0 == off).  
  4. 下面代码即可实现快进功能:  
  5. process->write(“mute 0\n”); //开启静音  
  6.         process->write(“mute 1\n”); //关闭静音 

6.定位视频窗口

通过上面的代码基本功能实现了,可是播放视频的时候发现又弹出一个窗口。并没有出现在我们的窗口里。

如下代码即可时间窗口的定位。

  1. process->start(common); 

红色部分实现串口的定位。Widget是一个QWidget对象。通过winId可以获得一个数字,-wid既将视频输出定位到widget窗体部件中。

注意:-wid参数只在X11、directX和OpenGL中适用。

下面便是效果图:

Qt编写Mplayer前端程序实例 

Qt编写Mplayer前端程序实例

小结:Qt编写Mplayer前端程序实例内容介绍完了,是不是效果很好呀?这里只是实现了一些基本的功能,如果需要的话可以参考Mplayer中文档添加需要的功能。如果您喜欢这篇文章,可以加华清远见老师为好友,单击以下链接即可:http://student.csdn.net/invite.php?u=45153&c=8af704eb3cd8e773

责任编辑:zhaolei 来源: 互联网
相关推荐

2011-07-05 17:54:43

QT Sqlite ARM

2011-06-13 11:24:55

QT MPlayer 移植

2011-06-10 13:42:50

QT mplayer 播放器

2011-06-16 10:09:25

QT Windows DLL

2011-07-04 15:13:31

QT MPlayer 移植

2011-06-08 17:59:43

Qt Creator

2011-06-10 14:06:32

QT mplayer

2009-01-14 13:51:19

Qt4SMPlayer

2011-09-06 11:08:21

QT播放器Mplayer

2011-07-05 16:59:15

Qt 动态 链接库

2011-06-09 09:31:40

Qt 实例

2011-07-01 18:35:17

QT 控制台

2011-07-05 17:07:46

Qt 插件 模块

2009-02-17 23:41:43

Mplayer播放器常见问题

2010-01-11 10:15:09

FedoraFedora 12Mplayer

2011-06-16 13:23:35

Qt 模块化 插件式

2011-07-05 14:46:34

2011-06-27 16:59:19

Qt 动态 插件

2011-06-13 16:51:19

Qt Socket

2011-06-14 16:45:57

Qt 图标
点赞
收藏

51CTO技术栈公众号