Android音视频 初始AudioTrack和PCM的录制与播放

初始AudioTrack和PCM的录制与播放

Audio系统

先看看Audio里边有哪些东西?通过Android的SDK文档,发现主要有三个:

  • AudioManager:这个主要是用来管理Audio系统的
  • AudioTrack:这个主要是用来播放声音的
  • AudioRecord:这个主要是用来录音的

其中AudioManager的理解需要考虑整个系统上声音的策略问题,例如来电话铃声,短信铃声等,主要是策略上的问题。
上一篇文章中已经讲述了audio’re’cord的使用,和相关参数的解释,没有看过的可以看一哈 音视频开发 原声方法生成PCM 以及PCM转为wav ,如果你本身已经对audiorecord有一定的了解,开始吧

AudioTrack的创建和配置

`
static public int getMinBufferSize(int sampleRateInHz, int channelConfig, int audioFormat)
public AudioTrack(int streamType, int sampleRateInHz, int channelConfig, int audioFormat,
int bufferSizeInBytes, int mode)

`

上篇文章中大部分参数都已经介绍过,现在只介绍新的参数

  • streamType

    这个在构造AudioTrack的第一个参数中使用。这个参数和Android中的AudioManager有关系,涉及到手机上的音频管理策略。

    Android将系统的声音分为以下几类常见的(未写全):
    l STREAM_ALARM:警告声
    l STREAM_MUSCI:音乐声,例如music等
    l STREAM_RING:铃声
    l STREAM_SYSTEM:系统声音
    l STREAM_VOCIE_CALL:电话声音

    为什么要分这么多呢?以前在台式机上开发的时候很少知道有这么多的声音类型,不过仔细思考下,发现这样做是有道理的。例如你在听music的时候接到电话,这个时候music播放肯定会停止,此时你只能听到电话,如果你调节音量的话,这个调节肯定只对电话起作用。当电话打完了,再回到music,你肯定不用再调节音量了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值