Android SDK 提供的3套音频播放的API之窥探AudioTrack,原理讲解

Android 音频架构定义了音频功能的实现方式,并指出实现中所涉及的相关源代码。如果感兴趣可以参看官网文档查阅相关源码:

Android 音频架构

1、AudioTrack的使用

AudioTrack有两种初始化方式:

  • 1、public AudioTrack(int streamType, int sampleRateInHz, int channelConfig, int audioFormat, int bufferSizeInBytes, int mode)
  • 2、AudioTrack.Builder

Android M(6.0)之后舍弃了public AudioTrack(int streamType, int sampleRateInHz, int channelConfig, int audioFormat, int bufferSizeInBytes, int mode)的方式初始化,所以要兼容6.0以上需要使用AudioTrack.Builder初始化

1.1、初始化方式:public AudioTrack(int streamType, int sampleRateInHz, int channelConfig, int audioFormat, int bufferSizeInBytes, int mode)
  • streamType:

参数streamType:媒体类型STREAM_VOICE_CALL, STREAM_SYSTEM, STREAM_RING, STREAM_MUSIC, STREAM_ALARM, STREAM_NOTIFICATION

  • sampleRateInHz:

参数sampleRateInHz:采样率,有8000、20100等,一般来说越高音质越好,但文件体积就越大

  • channelConfig:

参数channelConfig:声道,单声道CHANNEL_OUT_MONO 和双声道 CHANNEL_OUT_STEREO

  • audioFormat:

参数audioFormat:采样点大小,只有ENCODING_PCM_16BIT 和 ENCODING_PCM_8BIT两种选择,意思是一个采集点16bit或8bit

  • bufferSizeInBytes:

参数bufferSizeInBytes:AudioTrack一次所能接收最小的声音资源大小,通过getMinBufferSize函数获取,用于读取音频数据的内部缓冲区的总大小(以byte为单位)。

  • mode:

参数mode:有MODE_STATIC和MODE_STREAM两种分类。

1.2、初始化方式:AudioTrack.Builde
  • 14
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值