如何在Superpowered中重用音频文件?

时间:2017-03-02 18:44:54

标签: android superpowered

我正在使用Superpowered SDK构建Android数码钢琴。

我为每个音调使用 SuperpoweredAdvancedAudioPlayer 实例(例如c音,d音,e音......)。

为了避免记忆,我想在SuperpoweredAdvancedAudioPlayer实例中重复使用音频样本(mp3文件),并且 - 如果需要 - 用半色调(100分)向下/向上调整它们。例如“E tone”使用mp3样本作为“D tone”,只需100美分。

我怎样才能实现,e音的SuperpoweredAdvancedAudioPlayer实例使用与d音相同的音频对象? (我希望d-tone.mp3文件只在内存中分配一次)

谢谢!

当前实例化:

player1 = new SuperpoweredAdvancedAudioPlayer(&player1 , playerEventCallback1, samplerate, 0);
player1->open(path, fileAoffset, fileAlength);

1 个答案:

答案 0 :(得分:1)

只需对SuperpoweredAdvancedAudioPlayer的每个实例使用open方法。玩家实例不会占用大量内存。 如果该解决方案不够好,则使用SuperpoweredDecoder解压缩原始声音,并使用SuperpoweredTimeStretching的多个实例进行音高变化。当然这个版本需要更多的代码。