基于qt前端的mplayer播放器项目文档

基于qt前端的mplayer播放器项目文档

ID:31217244

大小:63.92 KB

页数:21页

时间:2019-01-07

基于qt前端的mplayer播放器项目文档_第1页
基于qt前端的mplayer播放器项目文档_第2页
基于qt前端的mplayer播放器项目文档_第3页
基于qt前端的mplayer播放器项目文档_第4页
基于qt前端的mplayer播放器项目文档_第5页
资源描述:

《基于qt前端的mplayer播放器项目文档》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、基于QT前端的mplaycr播放器项目文档V1.0一、项目概述Mplayerc它支持大量的多媒体文件格式,像常见的咅频文件如mp3/wav/niid,常见的视频文件如avi/vcd/dvd/rm等等,各种视频编/解码方式也是应有尽有。我们项目的目标是在liunx下,用QT做一个MPlayer皮肤,能够实现播放器的常见功能,如:播放、停止、快进、快退、上/下一曲等。并把程序移植到ARM平台上。二、功能体验本节主要目的是让大家在学习具体实现过程前,先体验下播放器的功能。1、PC端功能体验将“项目代码工程代码”冃

2、录下的mplayer.tar.gz拷贝linux系统中(主机环境配置好以后,参照第四节的实现过程)。#larxvfzmplaye匚lar.gz#./mplayer2、目标平台功能体验1将“项目代码工程镜像”文件夹中的zlmage.rootfs.cramfs烧写到目标板(或者采用nfs方式)。分区情况为:Boot:0-40000size=0x40000Kernel:40000-240000size=0x200000Rootfs:240000-3740000size=0x3500000启动参数为:setenvr

3、oot=1f02init=/linuxrcrootfstype=cramfsconsole=ttySAC0,115200display二sam240setenvbootcmdsetenvbootcmdnandread3000800040000200000;go300080001启动系统后运行:#../Qtopia.sh#cdmymplayer#./mymplayer・qws三、实现原理先来考虑考虑如何为mpbyei•编写前端界面的问题。有两种思路,一种是把mplayer解剖,直接修改他里面的代码,这样我们做

4、得界面就能够和mplayer-体了(当然也能够通过linkmplayer用到的任何的库和.o文档,把他无缝的集成在程式里面);第二种方法就是mplayer所谓的slave模式。mplayer'/home/linux/1.mp3'-quiet-slave现在来探讨一下slave模式:所谓的slave模式,就是mplayer在运行过程中能够接收用户的输入命令彳亍,具体支持哪些命令行,能够通过mplayer・Mputcmdlist这条命令來得到,在Mplayer源码的slave.txt中也有对这些命令有详细的讲解。

5、Slave模式下工作的MplayernJ以和系统的标准输入、输出进行信息交互。我们可以用linuxC编程来完成对slave模式工作的Mplayer进行控制和信息获取。如:mkfifo('7tmp/fifo",0777);可以使用popen()來打开MplayerFILE*mp;mp=popenC4mplyer/home/linux/1.mp3-quiet-slave-inputfile二/tmp/fifo,''r'');可以通过管道/tmp/fifo给mplayer发送命令,通过mp获取mplay的返回数据如

6、:system(uecho"mute0”>/tmp/fifo'');//写命令fgets(buf,1000,mp);//读取mplay返回数据而Qt给我们提供了更方便的实现方法。通过定义一个QProcess对象调用已编译好的Mplayer□QProcess^process=newQProcess();process->setProcessChannelMode(QProcess::MergedChannels);Process->start(4tmplayer-acmadxxxxx");在命令屮添加-sl

7、ave和・quiet就可以通过命令设置Mplayer实现相应的功能。在mplayer源码中的,slave.txt中对这些命令有详细的讲解。Process->start(44mplayer-slave-quiet-acmadxxxxx'');1、暂停功能通过如下代码可以设置Mplayer暂停。process->write(t4pause");执行这段代码的吋候如果是播放状态就会暂停,暂停状态吋就会继续播放。2、获収播放文件的总时间和当前播放进度执行下面代码时,Mplayer将时间在标准输出显示。process-

8、>write(*'get_time_pos");process->write(Hget_time-length");通过如下代码即可读出我们需要的信息:connect(process,SIGNAL(readyReadStandardOutput()),this,SLOT(back_message_slots()));process有对读取的信息时,发出信号,在槽函数back_message_slot

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。