android - android AudioTrack play() 和 write() 方法之间的区别?

标签 android methods audiotrack

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

最佳答案

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

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

有关更多信息,请阅读此

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

关于android - android AudioTrack play() 和 write() 方法之间的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18062896/

相关文章:

java - 异步任务 : Implementing executeOnExecutor() thread class in AudioTrack

安卓 : Playing MP3 files with AudioTrack using ffmpeg

android - Android Studio无法呈现预览

VBA 类。调用具有多个参数和静态函数的方法

方法参数中的 C# 指针?

java - 从aspectJ中带注释的方法获取局部变量值

android - 无法从蓝牙麦克风获取音频

android - Android开发者站点 'Designing for Performance'文档的问题

android - 使用矢量可绘制色调颜色选择器在膨胀 View 期间崩溃

android - 如何重现 IllegalStateException Not allowed to start service Intent app is in background