Как повторно использовать аудиофайлы в Superpowered?

Я создаю цифровое пианино для Android с помощью Superpowered SDK.

Я использую экземпляр SuperpoweredAdvancedAudioPlayer для каждого тона (например, тона c, тона d, тона e ...).

Чтобы избежать запоминания, я хотел бы повторно использовать аудиосэмплы (файлы mp3) в экземплярах SuperpoweredAdvancedAudioPlayer и, при необходимости, наклонять их вниз / вверх полутонами (100 центов). например «E tone» использует сэмпл mp3 в качестве «ре-тона», и его высота увеличивается только на 100 процентов.

Как я могу сделать так, чтобы экземпляр SuperpoweredAdvancedAudioPlayer для звука e использовал тот же звуковой объект, что и тон d? (Я хочу, чтобы файл d-tone.mp3 был размещен в памяти только один раз)

Спасибо!

Текущий экземпляр:

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

person user2536545    schedule 02.03.2017    source источник


Ответы (1)


Просто используйте открытый метод для каждого экземпляра SuperpoweredAdvancedAudioPlayer. Экземпляр игрока не использует много памяти. Если этого решения недостаточно, используйте SuperpoweredDecoder для распаковки исходного звука и используйте несколько экземпляров SuperpoweredTimeStretching для изменения высоты тона. Конечно, эта версия требует намного больше кода.

person Gabor Szanto    schedule 03.03.2017