1.先安装 1.madplay-0.15.2b.tar.gz 2.libmad-0.15.1b.tar.gz 3 libid3tag-0.15.1b.tar.gz 方法是:./configure sudo make sudo make install prefix = /usr/local 中prefix 为make install的安装目录,默认在/usr/loacl 如果希望安装到其他目录 ./configure --prefix=/安装目录路径 4.执行madplay 播放mp3 先加载动态库 :如 export LD_LIBRARY_PATH=/usr/local/lib 播放mp3 ./madplay 1.mp3 2.mp3 3.mp3 madpay功能很强求,可以实现多个节目循环播放,快进拖动播放,暂停,恢复,支持wav等格式输出等。 目前madplay还不支持网络播放.不过mp123支持网络播放。 madplay使用方法: 传入打印既可以使用短传入(-n ),也可以使用长传入(--abc),二者等效,下面只讲短传入 -v 获取播放时间 -q 不存在任何打印,但现实警告 -Q 不存在任何打印 --downsample 只采用一半数据 -i 忽略CRC校验错误 -o PATH/xx.wav 可以用来转码,将mp3转为wav 也可以是其他格式,见说明;.raw 表示是元素pcm,.hex等 -a 开启衰减音量 ,增加音量,衰减系统为-175~+18 (当然通过键盘+ —也可以调整音量) -A 同-a -1 -2 -m -S 分别指左声道,右声道,双声道,立体声 -s 用于seek播放 如:0:1:20:11 ,seek到1小时,2分钟,11秒时开始播放 -t 用于播放时间现在 0:1:20:11 ,播放到1小时,2分钟,11秒时就停止 -z 用于随机播放列表 -r, --repeat[=MAX] 循环播放无限次或Max次 --tty-control enable keyboard controls 默认是使能热键 --no-tty-control disable keyboard controls 热键使用 下一首歌曲; f,或ctrl+n 或者> 上一首歌曲 b ,或ctrl+p 或者< 退出:q, Q,获取ctrl+c 获取播放状态信息: i ? 调节音量: - + _ = 暂停恢复:p 停止:s 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) 实际项目中可以将该应用封装成一个库(将main函数封装成一个接口)提供给上层用,而热键动作,可以创建一个读按键线程,或者另一个播放器发消息来控制动作,完成对播放器的控制。输出要根据平台不同,将pcm摔倒不同驱动中。 |
|