zoukankan      html  css  js  c++  java
  • 嵌入式开发之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

  • 相关阅读:
    今日总结
    今日总结
    团队绩效1
    本周总结
    团队冲刺阶段10
    团队冲刺阶段9
    团队冲刺阶段8
    promise手写自定义封装异步任务回调的执行
    Vue中this.$options.data()和this.$data知多少?
    手写Promise自定义封装 then 函数
  • 原文地址:https://www.cnblogs.com/pengkunfan/p/4272898.html
Copyright © 2011-2022 走看看