ALSA庫程式設計要點

2021-08-18 05:33:50 字數 779 閱讀 7373



1、snd_pcm_open,開啟控制代碼。

2、配置引數,可能用到的介面:snd_pcm_hw_params_alloca、snd_pcm_hw_params_any、snd_pcm_hw_params_set_rate_near、snd_pcm_hw_params_set_format、snd_pcm_hw_params_set_access、snd_pcm_hw_params_set_channels、snd_pcm_hw_params_set_period_size_near、snd_pcm_hw_params_set_buffer_size_near、snd_pcm_hw_params。

3、讀寫:snd_pcm_writei、snd_pcm_readi。

注意點:

1、根據要實現的功能建立控制代碼,snd_pcm_open引數snd_pcm_stream_capture與snd_pcm_readi相對應,snd_pcm_stream_playback與snd_pcm_writei相對應。

2、配置引數,snd_pcm_hw_params_set_format中的第三個引數與對應檔案的格式相對應,即snd_pcm_format_a_law對應g711資料,snd_pcm_format_s16_le與16位的小端pcm格式資料相對應。

3、有些時候會有pcm資料與g711資料,g722資料與pcm資料之間相互轉換的需要。但是需要注意的是一般而言g722資料乙個包的大小是120,因此讀取檔案往解碼器送資料時需要將大小改為120.而g711資料乙個包大小為320,因此送解碼器時需要將大小改為320.

**:

TCP IP Winsock程式設計要點

利用winsock程式設計由同步和非同步方式,同步方式邏輯清晰,程式設計專注於應用,在搶先式的多工作業系統中 winnt win2k 採用多執行緒方式效率基本達到非同步方式的水平,應此以下為同步方式程式設計要點。1 快速通訊 winsock的nagle演算法將降低小資料報的傳送速度,而系統預設是使用...

TCP IP Winsock程式設計要點

利用winsock程式設計由同步和非同步方式,同步方式邏輯清晰,程式設計專注於應用,在搶先式的多工作業系統中 winnt win2k 採用多執行緒方式效率基本達到非同步方式的水平,應此以下為同步方式程式設計要點。1 快速通訊 winsock的nagle演算法將降低小資料報的傳送速度,而系統預設是使用...

TCP IP Winsock程式設計要點

利用winsock程式設計由同步和非同步方式,同步方式邏輯清晰,程式設計專注於應用,在搶先式的多工作業系統中 winnt win2k 採用多執行緒方式效率基本達到非同步方式的水平,應此以下為同步方式程式設計要點。1 快速通訊 winsock的nagle演算法將降低小資料報的傳送速度,而系統預設是使用...