【问题标题】:Playing audio from buffer using Superpowered SDK使用 Superpowered SDK 从缓冲区播放音频
【发布时间】:2017-03-19 17:33:25
【问题描述】:

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

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

生成的音频可以识别为我正在尝试播放的歌曲,但严重失真。

我已经通过将缓冲区中的数据写入 wav 文件并以这种方式测试播放来检查缓冲区中的数据是否符合我的预期。

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

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

任何指导将不胜感激!

【问题讨论】:

    标签: android c++ superpowered


    【解决方案1】:

    也许您有立体声/单声道问题。 您描述的示例非常适合单声道。

    【讨论】:

      猜你喜欢
      • 2011-10-31
      • 2017-12-15
      • 1970-01-01
      • 2013-11-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多