Android 使用Superpowered SDK从缓冲区播放音频
我一直在尝试使用Superpowered audio SDK从缓冲区(短int)播放音频文件。目前,在每次调用process函数时,我都会传入输出缓冲区并按如下方式编写:Android 使用Superpowered SDK从缓冲区播放音频,android,c++,superpowered,Android,C++,Superpowered,我一直在尝试使用Superpowered audio SDK从缓冲区(短int)播放音频文件。目前,在每次调用process函数时,我都会传入输出缓冲区并按如下方式编写: getBufferData(short int *output, unsigned int samples) { memcpy(output, buffer + bufferPtr, samples * sizeOf(short int)); bufferPtr += samples; } 产生的音频可以识别
getBufferData(short int *output, unsigned int samples) {
memcpy(output, buffer + bufferPtr, samples * sizeOf(short int));
bufferPtr += samples;
}
产生的音频可以识别为我试图播放的歌曲,但严重失真
通过将缓冲区中的数据写入wav文件并以这种方式测试播放,我检查了缓冲区中的数据是否符合预期
我有一种预感,memcpy程序可能过于密集,无法如此频繁地调用,但我还没有找到替代方案
我也明白,这种播放方法不是使用superpowered播放音频文件的适当方式,但对于我的用例来说是必需的
任何指导都将不胜感激 可能您有立体声/单声道问题。 您描述的示例非常适合mono