我正在寻找某种方式在
Android中播放内存中的音频,类似于在Windows编程中的waveOutOpen系列方法.
waveOut …方法基本上让应用程序创建示例值的数组(如没有标题的内存中WAV文件),并将其转储到队列中以进行顺序播放. Windows从一个阵列无缝转换到下一个阵列,因此只要应用程序在播放之前将阵列转储到队列中,程序就可以创建和播放任意长度的连续音频. Windows API还集成了一个回调机制,该应用程序可用于指示进度并加载其他缓冲区.
据我所知,Android音频API允许应用程序从本地存储或URL或内存流中播放文件.有没有办法让Android“排队”MediaPlayer.start()调用,以便一个播放器在播放完成后转换(没有毛刺)到下一个?看来,Jet做了这样的事情,但只有自己的内部综合引擎.
有没有其他方式以waveOutOpen方式访问Android音频?
解决方法
android.media.AudioTrack
…是你可能正在寻找的课程.
http://developer.android.com/reference/android/media/AudioTrack.html#AudioTrack%28int,%20int%29
创建后,您可以使用以下方法使用给定格式的二进制数据进行输入:
AudioTrack.writeTo(...)