使用Superpowered SDK从缓冲区播放音频

时间:2017-03-19 17:33:25

标签: android c++ superpowered

我一直在尝试使用Superpowered Audio SDK从缓冲区(short int)播放音频文件。目前,在每次调用process函数时,我都会传入输出缓冲区并像这样编写:

getBufferData(short int *output, unsigned int samples) {
    memcpy(output, buffer + bufferPtr, samples * sizeOf(short int));
    bufferPtr += samples;
}

产生的音频可以识别为我试图播放的歌曲,但严重失真。

我已经通过将其写入wav文件并以此方式测试播放来检查缓冲区中的数据是否是我所期望的。

我的预感是,memcpy例程可能过于密集而无法频繁调用,但我无法找到替代方案。

我也明白这种播放方法不适合使用superpowered播放音频文件,但对于我的用例是必需的。

非常感谢任何指导!

1 个答案:

答案 0 :(得分:0)

也许你有立体声/单声道问题。 您描述的示例适用于单声道。