适用于Android的低级音频API

Mus*_*sis 10 audio android

我正在寻找在安卓某种方式类似于的方式发挥内存音频waveOutOpen家族的Windows编程方法.

这些waveOut...方法基本上允许应用程序创建样本值数组(如没有标题的内存中WAV文件),并将它们转储到队列中以进行顺序播放.Windows从一个阵列无缝转换到下一个阵列,因此只要应用程序在播放之前将阵列转储到队列中,程序就可以创建并播放任意长度的连续音频.Windows API还包含一个回调机制,应用程序可以使用该机制来指示进度并加载其他缓冲区.

据我所知,Android音频API允许应用程序从本地存储或URL或内存流播放文件.有没有办法让Android"排队" MediaPlayer.start()呼叫,以便一个玩家在播放完成后转换(没有毛刺)到下一个?它看起来Jet像这样,但只有自己的内部合成引擎.

有没有其他方式可以访问Android音频waveOutOpen

plu*_*ind 10

android.media.AudioTrack
Run Code Online (Sandbox Code Playgroud)

...是你可能正在寻找的课程.

http://developer.android.com/reference/android/media/AudioTrack.html#AudioTrack%28int,%20int,%20int,%20int,%20int,%20int%29

创建它之后,您只需使用以下方法为其提供给定格式的二进制数据:

AudioTrack.writeTo(...)
Run Code Online (Sandbox Code Playgroud)