如何在Android上播放合成声音?

如何在Android上播放合成声音?,android,audio,Android,Audio,不久前,我编写了一个iPhone应用程序,它可以通过编程方式发出声音。它使用音频队列生成声音。使用AudioQueue,我可以在系统需要声音时注册回调,并用原始音频数据填充缓冲区进行响应。缓冲区很小,因此声音可以以相当低的延迟响应用户输入 我想在Android上做一个类似的应用程序,但我不知道怎么做。MediaPlayer和SoundPool类似乎是用于播放来自文件的罐装媒体,这不是我需要的。JetPlayer似乎是某种MIDI播放引擎 Android Java API中是否有与AudioQue

不久前,我编写了一个iPhone应用程序,它可以通过编程方式发出声音。它使用音频队列生成声音。使用AudioQueue,我可以在系统需要声音时注册回调,并用原始音频数据填充缓冲区进行响应。缓冲区很小,因此声音可以以相当低的延迟响应用户输入

我想在Android上做一个类似的应用程序,但我不知道怎么做。MediaPlayer和SoundPool类似乎是用于播放来自文件的罐装媒体,这不是我需要的。JetPlayer似乎是某种MIDI播放引擎

Android Java API中是否有与AudioQueue等效的应用程序?我必须使用本机代码来完成我想要的吗

谢谢

使用AudioQueue,我可以在系统需要声音时注册回调,并用原始音频数据填充缓冲区进行响应


Android中与此最相似的是。与您正在使用的回调(拉)机制不同,
AudioTrack
更像是一种推送模式,您可以使用阻塞调用(可能在后台线程中)不断写入曲目。

很酷,这听起来正是我需要的。谢谢。是否有类似于C API的东西,可用于使用NativeActivity的纯NDK应用程序?谢谢。@Bram:AFAIK,NDK应用程序使用OpenSL进行音频。