Мое приложение воспроизводит аудиофайлы с помощью AVAudioPlayer, и я использовал большинство своих методов и свойств для создания интерфейса управления воспроизведением с помощью кнопок для воспроизведения/паузы, поиска и т. Д. Теперь я хочу добавить функцию сдвига тона, используя новый AVAudioUnitTimePitch в iOS 8. Я нашел пример кода в this question, и он работает, когда я его запускаю, но он использует AVAudioPlayerNode вместо AVAudioPlayer.Могу ли я использовать старый AVAudioPlayer с новым AVAudioEngine?
Есть ли способ подключить AVAudioPlayer к AVAudioEngine вместо AVAudioPlayerNode? Или AVAudioPlayerNode полностью отличается от AVAudioPlayer, несмотря на их похожие имена?
Я спрашиваю, потому что, если мне придется заменить AVAudioPlayer на AVAudioPlayerNode, мне придется переработать большую часть моего интерфейса управления, чтобы использовать различные методы и свойства, доступные (или недоступные) в AVAudioPlayerNode.
Да, они совершенно разные, и да, вы должны переделать свой интерфейс управления (если вы хотите использовать AVAudioEngine). Альтернатива заключается в том, чтобы делать шаг-сдвиг так, как мы это делали до того, как существовал AVAudioEngine ... – matt
Я не знал о способе до-iOS 8. Можете ли вы поделиться ссылкой об этом? – arlomedia
Вы хотите узнать о Core Audio и Audio Units. AVAudioEngine - это просто интерфейс для этого (действительно приятный интерфейс). – matt