您的位置:首页 > 其它

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

2013-01-30 14:56 507 查看
Mplayer播放器的在PC、arm平台上的移植

一、 环境介绍:

主机:ubuntu 12.04

开发板:kernel2.6.35.7

交叉编译器:4.4.1

二、 编译PC版的mplayer

方法一:命令安装

sudo apt-get install mplayer

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

Step1:打开软件中心,搜索mplayer

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

方法三:编译安装

Step1:到mplayer官网下载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”获取命令。

5:song_path_name

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

6:NULL

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

3:移植ARM版本的Mplayer

参考Mplayer播放器的在PC、ARM平台上的移植

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

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

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

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

4:程序框架

注意:

主进程写命名管道的时候,比如”pause\n” 字符串命令,写入的字节数一个不能多一个不能少,需要用strlen()函数去测一下长度再写,否则命令会发送错误。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: