2017-03-02 33 views
0

我正在用Superpowered SDK構建一個Android數字鋼琴。如何重用Superpowered中的音頻文件?

對於每個音調(例如c音調,d音調,e音調......),我都使用SuperpoweredAdvancedAudioPlayer實例。爲了避免出現內存問題,我想重複使用SuperpoweredAdvancedAudioPlayer實例中的音頻樣本(mp3文件),並在必要時使用半色調(100分)將它們向下/向上調整。例如「E音」使用mp3音色作爲「D音」,只是提高了100分。

我該如何做到這一點,e音的SuperpoweredAdvancedAudioPlayer實例使用與d音相同的音頻對象? (我希望d-tone.mp3文件只在內存中分配一次)

謝謝!

當前實例:

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

回答

1

只需使用的SuperpoweredAdvancedAudioPlayer的每個實例的open方法。玩家實例不使用大量內存。 如果解決方案不夠好,那麼使用SuperpoweredDecoder解壓縮原始聲音,並使用SuperpoweredTimeStretching的多個實例進行音高變化。當然這個版本需要更多的代碼。