自动化零件服务商 - 供应SMC,FESTO,CKD全新正品气动元件
自动化零件服务商 - 供应SMC,FESTO,CKD全新正品气动元件
自动化零件服务商 - 供应SMC,FESTO,CKD全新正品气动元件

前言

本文摘抄的,简单记录一下,方便自己查阅和回顾。(摘抄文章比较老,不是最新的哈)

Android Audio框架中,主要有四种播放模式: Deep buffer Playback, Low latency Playback, Offload playbackMutichannel Playback

正文

分别记录一下相关模式内容。

Deep buffer Playback

Deep buffer Playback模式,音频文件是在AP侧解码成PCM文件,然后再送到ADSP中处理,音效部分处理的话是在AP侧或者ADSP中进行的。

  1. 标志: AUDIO_OUTPUT_FLAG_PRIMARY

  2. 支持的声道: 双声道

  3. 支持的采样率: 44.1Khz和48Khz

  4. 应用场景: 铃声音视频播放YouTube

Low Latency Playback

Low Latency Playback模式和Deep buffer Playback模式类似,但是它所分配的buffer更小些,并且在ADSP侧只做很少或者基本不做处理, 主要是播放一些对延迟要求较高的音频,比如触碰音和游戏音等。

  1. 标志:AUDIO_OUTPUT_FLAG_FAST

  2. 支持的声道:双声道

  3. 支持的采样率:44.1Khz和48Khz

  4. 应用场景: 触碰音,游戏音等

Offload Playback

Offload Playback模式中音频解码部分的工作是在ADSP中完成,AP侧只负责把音频数据送到ADSP中,送出去后,AP侧会进行休眠,ADSP中会分配一块较大的buffer去处理此数据,在ADSP中进行解码,音效的处理工作,在ADSP解码器处理完数据之前,它会唤醒AP侧去送下一包数据。

  1. 支持的格式:MP3, AC3, EAC3, AAC, FLAC, 24bit PCM, 16 bit PCM

  2. 标志:AUDIO_OUTPUT_FLAG_DIRECT,AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD,AUDIO_OUTPUT_FLAG_NON_BLOCKING

  3. 支持的声道:1, 2, 2,1, 4, 5, 5.1, 6, 7.1

Mutichannel Playback

Mutichannel Playback模式和Deep buffer playback模式类似,但它多应用于处理多声道音频数据,采样的解码器是Multichannel Decoder。

  1. 标志: AUDIO_OUTPUT_FLAG_DIRECT

  2. 支持的采样率: 44.1KHZ, 48k

  3. 应用场景:播放AAC格式5.1声道音源, 播放杜比AC3/eAC3格式音频4

配置

至于每个平台支持哪几种播放模式,以及个播放模式的标志,支持的格式,声道数,输出设备等信息,都是在audio_policy.conf文件里配置的。

primary {
  sampling_rates 44100|48000
  channel_masks AUDIO_CHANNEL_OUT_STEREO
  formats AUDIO_FORMAT_PCM_16_BIT
  devices AUDIO_DEVICE_OUT_EARPIECE|AUDIO_DEVICE_OUT_SPEAKER|AUDIO_DEVICE_OUT_WIRED_HEADSET|AUDIO_DEVICE_OUT_WIRED_HEADPHONE|AUDIO_DEVICE_OUT_ALL_SCO|AUDIO_DEVICE_OUT_PROXY|AUDIO_DEVICE_OUT_ANLG_DOCK_HEADSET|AUDIO_DEVICE_OUT_FM|AUDIO_DEVICE_OUT_FM_TX
  flags AUDIO_OUTPUT_FLAG_PRIMARY
}
low_latency {
   sampling_rates 44100|48000
   channel_masks AUDIO_CHANNEL_OUT_STEREO
   formats AUDIO_FORMAT_PCM_16_BIT
   devices AUDIO_DEVICE_OUT_SPEAKER|AUDIO_DEVICE_OUT_EARPIECE|AUDIO_DEVICE_OUT_WIRED_HEADSET|AUDIO_DEVICE_OUT_WIRED_HEADPHONE|AUDIO_DEVICE_OUT_ALL_SCO|AUDIO_DEVICE_OUT_PROXY|AUDIO_DEVICE_OUT_ANLG_DOCK_HEADSET|AUDIO_DEVICE_OUT_FM|AUDIO_DEVICE_OUT_FM_TX
   flags AUDIO_OUTPUT_FLAG_FAST
}
compress_offload {
  sampling_rates 8000|11025|16000|22050|32000|44100|48000
  channel_masks AUDIO_CHANNEL_OUT_MONO|AUDIO_CHANNEL_OUT_STEREO
  formats AUDIO_FORMAT_MP3|AUDIO_FORMAT_AAC_LC|AUDIO_FORMAT_AAC_HE_V1|AUDIO_FORMAT_AAC_HE_V2
  devices AUDIO_DEVICE_OUT_SPEAKER|AUDIO_DEVICE_OUT_EARPIECE|AUDIO_DEVICE_OUT_WIRED_HEADSET|AUDIO_DEVICE_OUT_WIRED_HEADPHONE|AUDIO_DEVICE_OUT_ALL_SCO|AUDIO_DEVICE_OUT_PROXY|AUDIO_DEVICE_OUT_ANLG_DOCK_HEADSET|AUDIO_DEVICE_OUT_FM_TX
  flags AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD|AUDIO_OUTPUT_FLAG_NON_BLOCKING
}

参考文章

  1. 关于播放模式的选择

自动化零件服务商 - 供应SMC,FESTO,CKD全新正品气动元件

相关文章

自动化零件服务商 - 供应SMC,FESTO,CKD全新正品气动元件

暂无评论

none
暂无评论...