基于Qt4网络视频播放器简介.docVIP

  • 49
  • 0
  • 约3.73千字
  • 约 4页
  • 2016-12-03 发布于贵州
  • 举报
基于Qt4网络视频播放器简介

基于Qt4的网络视频播放器简介 l软件功能简介及用法 该播放器可以在Windows、Linux和s3c2440开发板上播放各种格式的多媒体文件,以及流媒体网络视频文件。不管在哪个平台下运行,源代码均不需要修改,只需在相应系统环境下重新编译即可。如果要在x86(Windows和Linux)上运行,需要把工程目录下的widget_x86.ui复制一份,名为widget.ui, 如果要在开发板上运行,则应把工程目录下的widget_s3c2440.ui同样复制一份,名字也为widget.ui,因为该工程默认是使用widget.ui文件进行编译的。如果拷贝到其它机器上编译,可能会出现编译出错的情况,此时需要修改Qt工程Projects的“Build directory”的路径,再Rebuild即可。 播放器在Windows下运行画面如下图: 该播放器的用法与大多数视频播放器一样。具备播放,暂停,停止,上一首,下一首,播放进度显示和调节,音量调节,播放速度设置等基本功能。【速度设置】按钮用来设置播放的速度,正常速度值为0.0。【时间跳转】按钮用来跳转置指定的时间进度。另外,播放器右侧还有两个播放列表,分别是本地播放列表和网络播放列表,用来播放本地文件和流媒体http服务器上的文件。【打开】按钮用来添加本地文件,【删除】按钮用来删除本地播放列表的一项。网络播放列表项不可删除。在播放的同时,会实时显示多媒体文件的总播放时间和当前播放的进度时间,播放百分比(%),以及当前电脑的时间。同时播放器窗口标题会显示正在播放的文件名。 播放器的实现 单机播放的实现: 我控制mplayer播放视频是通过mplayer所谓的slave模式mplayer /home/linux/01.mp3 -quiet –slave,体验下效果。 现在来探讨一下slave模式:所谓的slave模式,就是mplayer在运行过程中能够接收用户的输入命令行,具体支持哪些命令行,能够通过mplayer -input cmdlist这条命令来得到,在Mplayer源码的slave.txt中也有对这些命令有详细的讲解。Slave模式下工作的Mplayer可以和系统的标准输入、输出进行信息交互。 Qt给我们提供了方便的实现方法。 通过定义一个QProcess对象调用已编译好的Mplayer。 QProcess *process = new QProcess(); process-setProcessChannelMode(QProcess::MergedChannels); Process-start(“mplayer –ac mad xxxxx”); 在命令中添加 -slave 和 -quiet就可以通过命令设置Mplayer实现相应的功能。在mplayer源码中的,slave.txt中对这些命令有详细的讲解。 Process-start(“mplayer –slave –quiet –ac mad xxxxx”);1) 暂停功能 通过如下代码可以设置Mplayer暂停。 process-write(“pause ”); 执行这段代码的时候如果是播放状态就会暂停,暂停状态时就会继续播放。 2获取播放文件的总时间和当前播放进度 执行下面代码时,Mplayer将时间在标准输出显示。 process-write(get_time_pos ); process-write(get_time_length ); 通过如下代码即可读出我们需要的信息: connect(process,SIGNAL(readyReadStandardOutput()),this,SLOT(dataRecieve ())); process有可读取的信息时,发出信号,在槽函数dataRecieve ()中读取信息。 void MPlayer::back_message_slots() { while(process-canReadLine()) { QByteArray b=p-readLine(); // b即为读取的信息我们可以根据需要取我们要的信息如 //文件总时间为:ANS_LENGTH=.00 //当前时间为:ANS_TIME_POSITION=23.00…… } } 3)快进功能 seek value [type] Seek to some place in the movie. 0 is a relative seek of +/- value seconds (default). 1 is a seek to value % in the movie. 2 is a seek to an absolute position of value seconds. 下面代码即可实现快进功能: pr

文档评论(0)

1亿VIP精品文档

相关文档