我正在使用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);
答案 0 :(得分:1)
只需对SuperpoweredAdvancedAudioPlayer的每个实例使用open方法。玩家实例不会占用大量内存。 如果该解决方案不够好,则使用SuperpoweredDecoder解压缩原始声音,并使用SuperpoweredTimeStretching的多个实例进行音高变化。当然这个版本需要更多的代码。