当前位置:   article > 正文

linux madplay 动态链接的好处,请问如何利用madplay管理自己的播放器,比如调节音量...

madplay -quiet -slave -geometry 0:0

我的板子是基于ARM926EJ-S处理器的,操作系统内核是linux-2.6.24,然后在Ubuntu 8.04编译了madplay,

再将madplay可执行文件下载到目标板的/bin目录下,将libmad.so.0库文件下载到目标板的/lib目录下,

通过Ubuntu 8.04终端的串口调试命令minicom建立与目标板的连接,

然后执行播放一个mp3文件的命令,比如:madplay A.mp3.音乐是播放出来了,效果也还可以,但是madplay会一直播放这首哥,什么命令都输不进去,包括停止不了,暂停不了,就是把Ubuntu 8.04的命令行终端关闭了,目标板也还会一直播放,除非把目标板的电源关了才能关闭这首歌。 怎样才能实现关闭或者暂停madplay啊?还有我想用madplay来调节音量,不知道要用什么命令或者什么程序?

高手帮帮我啊,我是Linux菜鸟啊,刚学习Linux不到半个月。

拜托了。

先谢谢大家。

|

p or SPACE       pause movie (press any key to continue)

q or ESC         stop playing and quit program

+ or -           adjust audio delay by +/- 0.1 second

o                cycle OSD mode:  none / seekbar / seekbar + timer

* or /           increase or decrease PCM volume

看mplayer 源码.

|

它还需要libmad 和libid3tag 两个库, 从该网站找到下载连接

http://sourceforge.net/project/showfiles.php?group_id=12349

这样我们就得到了移植madplay 所需要的关键的三个文件:

madplay-0.15.2b.tar.gz

libmad-0.15.1b.tar.gz

libid3tag-0.15.1b.tar.gz

这里有splay_fp版本的。

madplay也可以播放的,libmad是定点运算的。播放很流畅。

如果采用madplay,需要libmad, libid3tag, zlib等。

configure

1.

编译zlib 因为libid3tag需要这个库

./configure --prefix=/usr/local/arm/2.95.3/arm-linux

修改Makefile

AR=/usr/local/arm/2.95.3/bin/arm-linux-ar

CC=/usr/local/arm/2.95.3/bin/arm-linux-gcc

RANLIB=/usr/local/arm/2.95.3/bin/arm-linux-ranlib

最后AR 命令要添加rcs,否则出错

make

make install

2.

编译libid3tag

./configure --host=arm-linux CC=arm-linux-gcc --disable-debugging --disable-shared --prefix=/usr/local/arm/2.95.3/arm-linux

make

make install

3.

编译libmad

./configure --enable-fpm=arm --host=arm-linux --disable-shared --disable-debugging --prefix=/usr/local/arm/2.95.3/arm-linux CC=arm-linux-gcc

make

make install

4.

编译madplay

./configure --host=arm-linux CC=arm-linux-gcc --disable-debugging --disable-shared

make

但是,这样得到的是动态连接的。

rm madplay

拷贝make的最后一个连接的命令,在最后加上-static,然后运行,得到静态连接的程序

OK

|

madplay --help

你说的这些基本有快捷键的,源码里也可以自己定义

改声声音大小,看你用的声卡接口是oss或者alsa都有相应的shell命令控制,网上也有声音大小的接口控制,madplay中也有的

|

调节音量是标准接口,跟madplay没关系,madplay的主要工作是解码。

#define BASE_VALUE 257

int fd = open("/dev/mixer",O_RDWR);

int v = BASE_VALUE*50;

ioctl(fd,MIXER_WRITE(0),&v);

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/325980
推荐阅读
相关标签
  

闽ICP备14008679号