Изменить скорость воспроизведения с помощью Гобой
Я работаю над ритмической игрой, и одной из ее особенностей является то, что минусовая дорожка увеличивает скорость воспроизведения каждый раз, когда очищается раунд. В настоящее время я генерирую разные файлы PCM с разными темпами для каждого минусовки. К сожалению, это может значительно увеличить размер приложения. Я думал, есть ли способ использовать гобой для изменения скорости воспроизведения? Кто-нибудь пробовал это? Можете ли вы указать мне правильное направление, как это сделать с помощью ndk? Ценим помощь
1 ответ
Образец RhythmGame теперь может использовать FFmpeg, который поддерживает передискретизацию при извлечении сжатого ресурса ( полная статья здесь).
Вы можете указать другую частоту дискретизации здесь и повторно извлекать сжатый звук в каждом раунде.
Другим решением будет использование libresample из FFmpeg для повторной выборки уже извлеченного аудио на лету.
Разве нельзя увеличить объем данных, которые вы пропускаете при рендеринге данных выборки в обратном вызове onAudioReady? Например, если вы хотите бежать с удвоенной скоростью, пропустите альтернативные образцы. Математика с фиксированной точкой позволит вам выбрать любую скорость вывода.