Mplayer播放器的在PC、arm平台上的移植

来源:互联网 发布:哪里买域名不用备案 编辑:程序博客网 时间:2024/05/21 10:46

Mplayer播放器的在PCarm平台上的移植

一、 环境介绍:

主机:ubuntu 12.04

开发板:kernel2.6.35.7

交叉编译器:4.4.1

二、 编译PC版的mplayer

方法一:命令安装

sudo apt-get install mplayer

方法ubuntu 软件中心(ubuntu software center ) 安装

Step1打开软件中心,搜索mplayer

Step2:选中搜索到的结果,点击安装

方法三:编译安装

Step1mplayer官网下载mplayer源码包

http://www.mplayerhq.hu/design7/news.html

Step2:安装mplayer编译环境

#sudo apt-get build-dep mplayer

build-dep参数是指:根据源码编译时所需的关系包进行搜索并下载安装。

Step3:配置

#./configure

#./configure --enable-gui --language=zh_CN

Step4:编译

#make

Step5:安装

#make install

三、 编译ARM版的mplayer

#tar  zxzf  MPlayer-1.1.tar.gz

#cd  MPlayer-1.1

#./configure --host-cc=gcc --cc=arm-linux-gcc --target=armv7l --enable-static  --disable-win32dll  --disable-dvdread --disable-dvdread-internal --disable-dvdnav --disable-libdvdcss-internal --enable-fbdev --disable-mencoder --disable-live --disable-mp3lib --enable-mad --language=zh_CN

#make  //会在当前文件下生成mplayer可执行程序

 

Mplayer实验

实验原理:

Mplayer播放器是一款可以播放音乐和视频的播放器,有两种控制模式:键盘模式和slave模式:

实验步骤:

1:键盘控制模式

在终端上启动Mplayer

# . /mplayer  -ac  mad  /home/britney_spears.avi (改为自己的路径)  

全屏:

# . /mplayer  -ac  mad  -vf scale=800:480  /home/britney_spears.avi

启动Mplayer后可以通过键盘按键来控制Mplayer播放

基本控制键:

 left  or  right 向后/向前搜索10

 up  or  down       向后/向前搜索1分钟

 pageup  or  pagedown 向后/向前搜索10分钟

 p or SPACE 暂停播放(按任意键继续)

 q or ESC 停止播放并推出

2:Slave模式:

可以通过给Mplayer发送命令的方法来控制Mplayer。

 启动方法一:在终端下敲命令来启动Mplayer

# . /mplayer_arm  -ac  mad  -slave  -quiet  /home/britney_spears.avi

1-ac  mad     这两个参数的意思是指定用mad解码器。

2-slave 指定Mplayer运行在slave模式下。

3-quiet 指定Mplayer不向屏幕上,打印乱码信息。

4/home/britney_spears.avi 指定Mplayer播放的第一首歌曲的路径。

在终端下敲这个命令的时候,Mplayer默认从标准输入去获取命令。 可以在终端下敲命令控制Mplayer。比如:#pause  //暂停命令

Mplayer slave模式下常用的命令

loadfile  string    //播放string指定的歌曲

//string为歌曲名字(:“loadfile  ../easylove.mp3)

volume  x  1  //设置音量,x为音量的大小。

mute  1/0 //静音开关

pause  //暂停/取消暂停

seek value   //向前查找到文件的位置播放 参数value为秒数。

get_percent_pos //返回文件的百分比(0--100

get_time_pos //打印出在文件的当前位置用秒表示,采用浮点数

get_file_name //打印出当前文件名

get_time_length  //返回值是播放文件的长度,以秒为单位。

get_meta_album //打印出当前文件的'专辑'的元数据

get_meta_artist //打印出当前文件的'艺术家'的元数据

get_meta_comment //打印出当前文件的'评论'的元数据

get_meta_genre //打印出当前文件的'流派'的元数据

get_meta_title //打印出当前文件的'标题'的元数据

get_meta_year //打印出当前文件的'年份'的元数据

启动方法二:在进程中调用exec启动Mplayer程序。

例:

execl("./mplayer_arm",

"mplayer", "-ac", "mad",

"-slave", "-quiet",

"-input", "file=./fifo_cmd",

"./media/sad_or_happy.mp3", NULL);

参数:

1"-ac", "mad" 

指定使用mad解码器

2"-slave"

MPlayer 从标准输入读取以新行 (\n) 分隔开的命令行。

3"-quiet"

使得控制台输出消息较少。

4"-intput", "file=./tmp/cmd_fifo"  

Mplayer 通过命名管道”./tmp/cmd_fifo”获取命令。

5song_path_name  

歌曲的路径+文件名首地址。

6NULL 

 Mplayer可以通过它来判断到底有多少个参数,这个必不可少。

3:移植ARM版本的Mplayer

参考Mplayer播放器的在PCARM平台上的移植

 把生成mplayer可执行程序重命名为mplayer_arm

测试ARM版本Mplayer,在终端中输入以下命令

# . /mplayer_arm  -ac  mad  /home/britney_spears.avi (改为自己的路径)  

如果能够播放视频说明Mplayer移植成功。

4:程序框架

注意:

主进程写命名管道的时候,比如”pause\n” 字符串命令,写入的字节数一个不能多一个不能少,需要用strlen()函数去测一下长度再写,否则命令会发送错误。

原创粉丝点击