我在哪里可以从Android框架获取原始PCM数据?

时间:2017-06-08 13:25:53

标签: android c++ media pcm

我在哪里可以从Android框架获取原始pcm数据? 我想我可以从中得到它:

Write (const void * buffer, size_t userSize, bool blocking)
/framework/av/media/libmedia/AudioTrack.cpp

中的

但是,它与流媒体服务前的文件中的pcm数据和写入时获得的pcm数据不同。

我认为这就像重新抽样一样。

我在哪里可以获得原始pcm数据?

注意:

  • 声源是FLAC声源。
  • Android版本为6.0.1。

2 个答案:

答案 0 :(得分:0)

你有更好的机会在android-framework层下面的一层点击pcm缓冲区 - audio hal。现在这将取决于硬件,因此我可以为您提供一些可能的示例: -

hardware/xxx/audio/hal/audio_hw.c(在我的情况下xxx是qcom)
  in_read() - > pcm_read()

external/tinyalsa/pcm.c
  pcm_read()

答案 1 :(得分:0)

AudioTrack.cpp中的PCM数据将输入到AudioMixer和AudioEffects组件以自定义效果,然后输入到音频HAL中。