1. 程式人生 > 實用技巧 >VLC播放pcm

VLC播放pcm

/Applications/VLC.app/Contents/MacOS/VLC --demux=rawaud --rawaud-channels 1 --rawaud-samplerate 48000  --rawaud-fourcc "s8  " /Users/lz/audio.pcm
https://github.com/videolan/vlc/blob/709610a2a3aa7fbbd745e90f6c7273d2b25becb3/modules/demux/rawaud.c

引數分析:

--demux=rawaud,表示純音訊;
--rawaud-channels 1,表示聲道數為1;
--rawaud-samplerate 48000 ,表示取樣率為48K赫茲。
--rawaud-fourcc
"s8 "

//
#define VLC_CODEC_S8                         VLC_FOURCC('s','8',' ',' ')
#define VLC_CODEC_U8                         VLC_FOURCC('u','8',' ',' ')
#define VLC_CODEC_S16L                       VLC_FOURCC('s','1','6','l')
#define VLC_CODEC_S16L_PLANAR                VLC_FOURCC('s','1','l','p')
#define VLC_CODEC_S16B                       VLC_FOURCC('s','1','6','b')
#define VLC_CODEC_U16L                       VLC_FOURCC('u','1','6','l')
#define VLC_CODEC_U16B                       VLC_FOURCC('u','1','6','b')
#define VLC_CODEC_S20B                       VLC_FOURCC('s','2','0','b')
#define VLC_CODEC_S24L                       VLC_FOURCC('s','2','4','l')
#define VLC_CODEC_S24B                       VLC_FOURCC('s','2','4','b')
#define VLC_CODEC_U24L                       VLC_FOURCC('u','2','4','l')
#define VLC_CODEC_U24B                       VLC_FOURCC('u','2','4','b')
#define VLC_CODEC_S24L32                     VLC_FOURCC('s','2','4','4')
#define VLC_CODEC_S24B32                     VLC_FOURCC('S','2','4','4')
#define VLC_CODEC_S32L                       VLC_FOURCC('s','3','2','l')
#define VLC_CODEC_S32B                       VLC_FOURCC('s','3','2','b')
#define VLC_CODEC_U32L                       VLC_FOURCC('u','3','2','l')
#define VLC_CODEC_U32B                       VLC_FOURCC('u','3','2','b')
#define VLC_CODEC_F32L                       VLC_FOURCC('f','3','2','l')
#define VLC_CODEC_F32B                       VLC_FOURCC('f','3','2','b')
#define VLC_CODEC_F64L                       VLC_FOURCC('f','6','4','l')
#define VLC_CODEC_F64B                       VLC_FOURCC('f','6','4','b')
https://github.com/videolan/vlc/blob/90cf563f1c7107ee3930bc5e105d6c3830f17252/include/vlc_fourcc.h

S8 U8 S16_LE S16_BE U16_LE U16_BE格式

S是有符號   U是無符號
BE是大端(低地址存高位)
LE是小端(低地址存低位)