我正在尝试在Android上创建低延迟音频应用程序,但遇到了一些问题。
我尝试使用AssetManager通过4.2+上的OpenSl ES播放WAV(PCM编码)文件,但发现它并不能完全满足我的要求。
从NDK中的Native-Audio示例中,我试图创建一个BufferQueue来播放剪辑的缓冲char数组。
我的问题在于,我不确定如何像在示例中那样创建这些char数组,例如“ hello_clip.h”,其中包括以下示例:
"\x00\x00\xfd\xff\x01\x00\x01\x00\xf9\xff\xfb\xff\x02\x00\x05\x00"
"\x01\x00\x03\x00\x06\x00\x0a\x00\x0a\x00\x09\x00\x04\x00\x04\x00"
"\x06\x00\x06\x00\x00\x00\xff\xff\x05\x00\x08\x00\x01\x00\xfe\xff"
"\xff\xff\x03\x00\x04\x00\xfe\xff\xf9\xff\xfd\xff\x04\x00\xfe\xff"
"\x03\x00\x04\x00\x01\x00\xfb\xff\xfb\xff\xfc\xff\xfb\xff\x03\x00"
"\xfc\xff\xf9\xff\xfc\xff\x01\x00\x06\x00\x00\x00\xf9\xff\xfa\xff"
"\x04\x00\x06\x00\xfe\xff\xfa\xff\xfd\xff\x01\x00\xfe\xff\xfe\xff"
"\xfe\xff\xfd\xff\xfd\xff\xfd\xff\xfe\xff\xff\xff\xfd\xff\xfa\xff"
"\xfe\xff\x00\x00\x03\x00\xfe\xff\xfc\xff\xfb\xff\xfe\xff...
然后继续将其包含在项目中,如下所示:
static const char hello[] =
#include "hello_clip.h"
;
如何从PCM音频生成类似的char数组文件用作char数组?
我在C和NDK方面的经验有限,而且我发现android上的OpenSl ES的文档和示例不是很有帮助。 因此,任何帮助将不胜感激。