1

我想确切地知道 AudioTrack API 中 play() 和 write() 方法之间的区别。我在谷歌上搜索了这个,但我没有找到答案。

4

1 回答 1

1

好吧,这是一个基本问题, play() 方法用于静态模式,而 write() 方法用于流模式。需要明确的是,静态模式包含具有预定义大小的小块音频文件,并且音轨会播放到指定大小并停止。

在流模式下,您使用 write() 方法。有两个write方法write(byte[], int, int)和write(short[], int, int),当数据已经从Java层传输到native层并排队等待播放时,这些是阻塞和返回. 流模式在播放音频数据块时最有用,例如:由于声音播放的持续时间太大而无法放入内存

欲了解更多信息,请阅读此

http://developer.android.com/reference/android/media/AudioTrack.html

于 2013-08-05T16:23:26.977 回答