libmad学习进阶6------madplay的使用 总结

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摔倒不同驱动中。

你可能感兴趣的:(音视频多媒体)