Создать кроссфейдер с AvAudioPlayer
Как я могу создать кроссфейдер между двумя звуковыми дорожками с AVAudioplayer?
Я должен использовать AVAudiomix? Но... как я должен использовать?
1 ответ
AVAudioPlayer не поддерживает использование AVAudioMix. Вы можете попытаться затушевывать воспроизведение самостоятельно, непосредственно установив громкость воспроизведения, но установить правильную синхронизацию между двумя AVAudioPlayer будет сложно, так как известно, что AVAudioPlayer имеет очень высокую и непредсказуемую задержку при начале воспроизведения.
Один из способов сделать это - использовать AVPlayer, AVPlayerItem и AVComposition. Вы можете настроить композицию таким образом, чтобы накладывать два аудиофайла на желаемую величину, и настроить AVAudioMix для постепенного исчезновения первого и постепенного исчезновения во втором. Этот метод позволит вам точно контролировать, когда аудиофайлы воспроизводятся относительно друг друга.