嵌入式开发之davinci--- 8148/8168/8127 中的音频alsa 采集

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.

 

下篇将pcm g711 和aac 音频格式

 

http://blog.csdn.net/zybasjj/article/details/8768544

posted @ 2015-02-04 17:26  midu  阅读(481)  评论(0编辑  收藏  举报