madplay_0.15.2b.orig.tar.gz arm-linux-gcc 4.3.2包含了madplay用到的所有库,所以编译工作就相当简单了[luther.gliethttp].luther@gliethttp:~/madplay-0.15.2b$ CC=arm-linux-gcc ./configure --host=arm-linux --enable-shared --prefix=/home/luther/gliethttp_madplay
luther@gliethttp:~/madplay-0.15.2b$ make -j4
luther@gliethttp:~/madplay-0.15.2b$ CC=arm-linux-gcc make install
luther@gliethttp:~/gliethttp_madplay/bin$ file madplay
madplay: ELF 32-bit LSB executable, ARM, version 1 (SYSV), for GNU/Linux 2.6.14, dynamically linked (uses shared libs), not stripped
准备用到的库
luther@gliethttp:/vobs/initramfs/usr/lib$ cp -a /usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/armv4t/usr/lib/*.so* .
luther@gliethttp:/vobs/initramfs/usr/lib$ arm-linux-strip -s *
luther@gliethttp:/vobs/initramfs/usr/lib$ du -sh .
1.6M .
使用qemu-system-arm模拟器测试,下面的错误是正常的,因为模拟器上我没有打开audio模拟项,这里可以说明madplay在arm内核上完全跑起来了.
luther@gliethttp:~$ gliethttp
Trying 172.20.0.2...
Connected to 172.20.0.2.
Escape character is '^]'.
172.20.0.2 login: root
# ls
bin dev etc lib mnt nfs proc root sbin sys usr
# ls /nfs/
QQ爱.mp3 aaa ldd lib locale madplay mkfs.jffs2 usr
# ls
bin dev etc lib mnt nfs proc root sbin sys usr
# cd /nfs/
# ls
QQ爱.mp3 aaa ldd lib locale madplay mkfs.jffs2 usr
# ./madplay QQ爱.mp3
MPEG Audio Decoder 0.15.2 (beta) - Copyright (C) 2000-2004 Robert Leslie et al.
audio: /dev/dsp: No such file or directory
# ./madplay -h
Usage: ./madplay [OPTIONS] FILE [...]
Decode and play MPEG audio FILE(s).
Verbosity:
-v, --verbose show status while decoding
-q, --quiet be quiet but show warnings
-Q, --very-quiet be quiet and do not show warnings
--display-time=MODE use default verbose time display MODE
(remaining, current, overall)
Decoding:
--downsample reduce sample rate 2:1
-i, --ignore-crc ignore CRC errors
--ancillary-output=PATH write ancillary data to PATH
Audio output:
-o, --output=[TYPE:]PATH write output to PATH with format TYPE (below)
-b, --bit-depth=DEPTH request DEPTH bits per sample
-R, --sample-rate=HERTZ request HERTZ samples per second
-d, --no-dither do not dither output PCM samples
--fade-in[=DURATION] fade-in songs over DURATION (default 0:05)
-a, --attenuate=DECIBELS attenuate signal by DECIBELS (-)
-a, --amplify=DECIBELS amplify signal by DECIBELS (+)
-A, --adjust-volume=DECIBELS override per-file volume adjustments
-G, --replay-gain[=PROFILE] enable Replay Gain volume adjustments using
PROFILE (radio, audiophile)
Channel selection:
-1, --left output first (left) channel only
-2, --right output second (right) channel only
-m, --mono mix left and right channels for monaural output
-S, --stereo force stereo output
Playback:
-s, --start=TIME skip to begin at TIME (HH:MM:SS.DDD)
-t, --time=DURATION play only for DURATION (HH:MM:SS.DDD)
-z, --shuffle randomize file list
-r, --repeat[=MAX] play files MAX times, or indefinitely
--tty-control enable keyboard controls
--no-tty-control disable keyboard controls
Miscellaneous:
-T, --show-tags-only show ID3/encoder tags only (do not decode)
-V, --version display version number and exit
--license show copyright/license message and exit
-h, --help display this help and exit
Supported output formats:
cdda CD audio, 16-bit big-endian 44100 Hz stereo PCM (*.cdr, *.cda)
aiff Audio IFF, [16-bit] PCM (*.aif, *.aiff)
wave Microsoft RIFF/WAVE, [16-bit] PCM (*.wav)
snd Sun/NeXT audio, 8-bit ISDN mu-law (*.au, *.snd)
raw binary [16-bit] host-endian linear PCM
hex ASCII hexadecimal [24-bit] linear PCM
null no output (decode only)
#