AudioTrack 是用于播放音频数据的类,可以使用 set 方法设置音频数据,然后使用 start 来启动播放。而 pause 和 stop 则是用于控制播放过程的方法。不管 APP 使用什么播放音频文件,最终都是由 AudioTrack 将数据传递下去。
构造函数:创建 AudioTrack 时调用。
play():播放音频文件。
pause():暂停播放音频文件。
stop():停止播放音频文件。
flush():释放音频缓存。
finalize():系统垃圾回收回调。
release():释放 AudioTrack 资源。
下面的源码我们主要针对以上方法进行分析。
源码位置:/frameworks/base/media/java/android/media/AudioTrack.java
private AudioTrack(AudioAttributes attributes, AudioFormat format, int bufferSizeInBytes,
int mode, int sessionId, boolean offload, int encapsulationMode,
@Nullable TunerConfiguration tunerConfiguration) throws IllegalArgume