[英]Playing audio from buffer using Superpowered SDK
我一直在尝试使用Superpowered Audio SDK从缓冲区(短int)播放音频文件。 当前,在每次调用流程函数时,我都会传入输出缓冲区并按如下方式编写:
getBufferData(short int *output, unsigned int samples) {
memcpy(output, buffer + bufferPtr, samples * sizeOf(short int));
bufferPtr += samples;
}
产生的音频可以识别为我尝试播放的歌曲,但失真严重。
我已经通过将其写入到wav文件并以这种方式测试播放来检查缓冲区中的数据是否符合我的期望。
我的直觉是memcpy例程可能过于密集而无法如此频繁地调用,但我一直无法找到替代方法。
我也知道,这种播放方法不是使用超级功能播放音频文件的合适方法,但是对于我的用例来说,这是必需的。
任何指导将不胜感激!
也许您有立体声/单声道问题。 您描述的示例非常适合单声道。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.