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

Where can I get the original PCM data from the Android framework?

本文关键字:原始 获取 PCM 数据 框架 Android 在哪里      更新时间:2023-10-16

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

中获得它
Write (const void * buffer, size_t userSize, bool blocking)

/framework/av/media/libmedia/AudioTrack.cpp

但是,在流服务和Write中获得的PCM数据之前,它与文件中的PCM数据有所不同。

我认为这就像重新采样。

在哪里可以获取原始PCM数据?

注意:

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

您有更好的机会在Android -Framework层 - Audio HAL下方敲击pcm缓冲区。现在这将取决于硬件,因此我可以为您提供一些可能的示例: -

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

external/tinyalsa/pcm.c
pcm_read()

audiotrack.cpp中的PCM数据将输入AudioMixer和Audioeffects组件以自定义效果,然后进入Audio HAL。