带音频播放的MPlayer播放器在ARM上的移植笔记

前言

mplayer想要播放带音频的视频文件,需要依赖alsa-lib和zlib,所以交叉编译mplayer前还需要先编译alsa-lib和zlib

一、alsa-lib

        alsa-lib 是 ALSA 提供的一套 Linux 下的 C 语言函数库,需要将 alsa-lib 移植到板卡上,这样基于 alsa-lib 编写的应用程序才能成功运行

        如果想不用mplayer,直接使用alsa测试音频,还需要移植 alsa-utils,alsa-utils 包含了一些用于测试、配置声卡的工具,譬如 aplay、arecord、alsactl、alsaloop、alsamixer、amixer 等,在开发板出厂系统上可以直接使用这些工具,这些应用程序也都是基于 alsa-lib 编写的。

aplay 是一个用于测试音频播放功能程序,可以使用 aplay 播放 wav 格式的音频文件,需要注意的是,aplay 工具只能解析 wav 格式音频文件,不支持 mp3 格式解码

alsamixer 是一个很重要的工具,用于配置声卡的混音器,它是一个字符图形化的配置工具

1、下载源码

下载链接:

AlsaProject (alsa-project.org)

Advanced Linux Sound Architecture (ALSA) project · GitHub

选用版本:1.2.2

2、linux下解压

tar -vxjf alsa-lib-1.2.2.tar.bz2

3、config

注意 alsa-lib 编译过程中会生成一些配置文件,而这些配置信息的路径都是绝对路径,因此为了保证 ubuntu 和开发板根文件系统中的路径一致!需要在 ubuntu 和开发板中各创建一个路径和名字完全一样的目录。路径为 /usr/app_install/common/lib/alsa

./configure --host=arm-linux-gnueabihf --prefix=/home/wwyc/srv/winShared/lib-install/alsa --with-configdir=/usr/app_install/common/lib/alsa

--prefix:安装目录

--with-configdir:配置文件目录

3、编译安装

make

sudo make install //因为配置文件会生成到/usr目录下,所以需要root权限

4、遇到问题

解决办法:

二、alsa-utils(可选)

1、下载源码

下载链接:

AlsaProject (alsa-project.org)

Advanced Linux Sound Architecture (ALSA) project · GitHub

选用版本:1.2.2

2、linux下解压

tar -vxjf alsa-utils-1.2.2.tar.bz2

3、config

./configure --host=arm-linux-gnueabihf --prefix=/home/wwyc/srv/winShared/lib-install/alsa-utils --with-alsa-inc-prefix=/home/wwyc/srv/winShared/lib-install/alsa/include/ --with-alsa-prefix=/home/wwyc/srv/winShared/lib-install/alsa/lib/ --disable-alsamixer --disable-xmlto

--prefix:安装目录

--with-alsa-inc-prefix:alsa头文件路径

--with-alsa-prefix:alsa库路径

--disable-alsamixer:禁止编译alsamixer工具

4、编译安装

make

sudo make install

5、遇到问题

configure: error: No linkable libasound was found.

解决办法:

config前先导出先环境变量, source /etc/profile

三、zlib

1、下载源码

下载链接:zlib Home Site

选用版本:1.2.11

2、linux下解压

tar -vxzf zlib-1.2.11.tar.gz

3、config

CC=arm-linux-gnueabihf-gcc LD=arm-linux-gnueabihf-ld AD=arm-linux-gnueabihf-as ./configure --prefix=/home/wwyc/srv/winShared/lib-install/zlib

4、编译安装

make

make install

完成后会在安装目录下生成如下文件

四、mplayer

1、下载源码

下载链接:Index of /MPlayer/releases

选用版本:1.4

2、linux下解压

tar -vxzf MPlayer-1.4.tar.gz

3、config

./configure --cc=arm-linux-gnueabihf-gcc --host-cc=gcc --target=arm-linux-gnueabihf --disable-ossaudio --enable-alsa --prefix=/home/wwyc/srv/winShared/lib-install/mplayer --extra-cflags="-I /home/wwyc/srv/winShared/lib-install/zlib/include -I /home/wwyc/srv/winShared/lib-install/alsa/include" --extra-ldflags="-L/home/wwyc/srv/winShared/lib-install/zlib/lib -Iz -L/home/wwyc/srv/winShared/lib-install/alsa/lib -lasound" --enable-fbdev --disable-mencoder

--extra-cflags:指定 zlib 和 alsa-lib 的头文件路径

--extra-ldflags:指定 zlib 和 alsa-lib 的库文件路径

配置完成以后打开 config.mak 文件,找到“INSTALLSTRIP = -s”这一行,取消掉后面的“-s”,否则“make install”命令会失败!

4、编译安装

make

make install

完成后会在安装目录下的bin目录下生成 mplayer 工具

五、移植到ARM

1、将alsa-lib编译生成的lib库和配置文件 全部拷贝到板卡/usr/lib 路径下,注意软连接,需要生成tar包拷贝到设备后再解压缩

2、将alsa-utils编译生成的bin目录下二进制工具拷贝到板卡 /usr/bin 路径下,使用aplay可以直接播放 wav格式的音频文件。

3、将 mplayer 编译生成的bin程序拷贝到板卡/usr/bin 路径下,使用mplayer就可播放带音频的视频文件了

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值