Android Framework学习笔记 -- Audio 混音

本文深入探讨了Android中音频混音的概念,通过AudioMixer实现混音,详细介绍了音频基础知识如采样率、编码格式和通道,并阐述了AudioMixer的创建、配置参数、混音函数选择及混音过程。通过对AudioMixer的工作原理分析,提供了混音操作的实践指导。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

android的混音是通过AudioMixer来实现的,最近遇到了一个混音的问题,该是好好看看音频的基本知识了。

音频的基本知识

示意图

很早之前就知道音频存储是通过采样来实现的,就是所谓的A/D(Analog-to-Digital Converter与D/A(Digital Analog Converter)
音轨有很多属性如

  • 采样率(sampleRate)
  • 编码格式(format)
  • 通道(channelCount)
  • 总帧数(frameCount) ?
  • 音量(volume) ?
  • 播放速率(playbackRate) ?

前三个比较重要,具体去了解一下

采样率

看到知乎上有一个回答,感觉挺形象的什么是音频的采样率?采样率和音质有没有关系?

一般的采样率固定在44100HZ(- -就是一秒记44100次),理由是因为人耳听觉范围在20HZ~20KHZ,这样记录能还原最高22.05KHZ的声音。
还有一个采样率48000HZ也比较常见

编码格式

指每次采样所用的bit数,比如8bit,16bit
从命名来看,android好像用来8bit,16bit跟32bit

  • AUDIO_FORMAT_PCM_16_BIT
  • AUDIO_FORMAT_PCM_8_BIT
  • AUDIO_FORMAT_PCM_32_BIT
  • AUDIO_FORMAT_PCM_8_24_BIT
  • AUDIO_FORMAT_PCM_FLOAT
  • AUDIO_FORMAT_PCM_16_BIT_OFFLOAD ?
  • AUDIO_FORMAT_PCM_16_BIT_OFFLOAD ?
通道

就是两个耳机有不同的声音??
一般有单通道(mono) 双通道(stereo)

AudioMixer混音过程

参考博客园上的一篇博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值