ALSA是高級Linux聲音架構。提供了一系列音頻的邏輯接口,包括PCM、CONTROL等。這些,不影響它的使用,了解一下就可以。
在Android設備上,linux 2.x的版本,要控制錄制播放音頻,要使用alsa-lib和alsa-utils編譯出aplay播放器。使用你的交叉編譯工具,經過一系列編譯后移植使用。
而在linux3.x的版本 android 4.0往后,已經使用TinyAlsa來替代這些了。tinyalsa的使用,與aplay相比,大大降低了編譯和使用難度。
TODO:aplay交叉編譯過程&tinyalsa編譯使用過程。
tinyalsa的使用方法:
在安卓環境下:
tinyalsa在external目錄的sound下。編譯該應用為可執行文件后,使用tinymix查看聲卡狀態控制,使用tinycap錄音,tinyplay播放。
tinycap test.wav -D 0 -d 0 -c 2 //指定使用聲卡0(默認聲卡) 雙通道錄音
tinyplay test.wav -D 0 -d 0 //tinyplay 一般的聲道信息會根據錄制情況來默認。
tinymix 使用tinycap和tinymix之前,要先設置tinymix的控制屬性,比如: 打開ADC 選擇I2S/PCM 選擇聲道等,后面分析