【发布时间】:2013-08-05 16:15:51
【问题描述】:
我想确切地知道 AudioTrack API 中的 play() 和 write() 方法之间的区别。我在 Google 上搜索了这个,但没有找到答案。
【问题讨论】:
-
play告诉AudioTrack开始消费数据;write提供更多数据供轨道使用。
标签: android methods audiotrack
我想确切地知道 AudioTrack API 中的 play() 和 write() 方法之间的区别。我在 Google 上搜索了这个,但没有找到答案。
【问题讨论】:
play 告诉AudioTrack 开始消费数据; write 提供更多数据供轨道使用。
标签: android methods audiotrack
这是一个基本问题,play() 方法用于静态模式,write() 方法用于流模式。需要明确的是,静态模式包含具有预定义大小的小块音频文件,并且音轨会播放到指定大小并停止。
在流模式下,你使用 write() 方法。有两个write方法write(byte[], int, int)和write(short[], int, int),当数据已经从Java层传输到native层并排队等待播放时,这些是阻塞和返回.流模式在播放音频数据块时最有用,例如:由于声音的持续时间而无法放入内存
更多信息请阅读本文
http://developer.android.com/reference/android/media/AudioTrack.html
【讨论】: