【问题标题】:difference between android AudioTrack play() and write() methods?android AudioTrack play() 和 write() 方法的区别?
【发布时间】:2013-08-05 16:15:51
【问题描述】:

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

【问题讨论】:

  • play 告诉AudioTrack 开始消费数据; write 提供更多数据供轨道使用。

标签: android methods audiotrack


【解决方案1】:

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

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

更多信息请阅读本文

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

【讨论】:

  • 似乎在静态模式下也必须使用 write(),因为 play() 没有参数。
猜你喜欢
  • 2011-08-22
  • 2010-10-11
  • 2015-04-21
  • 2014-01-31
  • 1970-01-01
  • 1970-01-01
  • 2011-10-22
  • 2013-06-20
  • 1970-01-01
相关资源
最近更新 更多