AVPlayer vs. AVAudioPlayer
Документация для AVPlayer гласит следующее:
[The] проигрыватель одинаково хорошо работает с локальными и удаленными медиафайлами.
Однако в документации для AVAudioPlayer указано следующее:
Apple рекомендует использовать этот класс для воспроизведения звука, если вы не воспроизводите звук, захваченный из сетевого потока
Для работы, которую я делаю, мне нужны некоторые возможности AVAudioPlayer, но все мои аудио передаются. Главное, что мне нужно от AVAudioPlayer, которого нет у AVPlayer, это свойство "играть". Трудно создать игровой интерфейс без этого свойства, среди прочих.
Так в чем же разница между AVPlayer и AVAudioPlayer, что делает последнее непригодным для сетевой потоковой передачи? Есть ли способ получить некоторую информацию из AVPlayer, которую предоставляет AVAudioPlayer, например, свойство "играть"?
Ответы
Ответ 1
-
AVPlayer может воспроизводиться с AVPlayerItem с помощью AVURLAsset с URL-адресом библиотеки iPod. AVAudioPlayer не может воспроизводить URL-адрес библиотеки iPod.
-
AVPlayer не имеет свойства тома и требует использования настройки уровня громкости системы, управление которым может осуществляться только аппаратным переключателем или MPVolumeView. Но вы можете установить громкость микширования AVAudioPlayer.
-
AVPlayer, похоже, сообщает о некорректном текущем времени после поиска. Но AVAudioPlayer точно сообщает.
Ответ 2
AVPlayer на самом деле имеет аналогичное свойство, как и свойство воспроизведения AVAudioPlayer.
Посмотрите на свойство rate
.
Ответ 3
Через 7 лет после...
С точки зрения зависимости от Swift и CocoaPods, мой ответ сравнивается только для iOS 8 +.
1. Поддержка библиотеки iPod
идентичная поддержка с iOS6
2. регулировка громкости
идентичная поддержка:
3. поиск контроля
как AVPlayer, так и AVAudioPlayer, похоже, сообщают о некорректном текущем времени после поиска:
4. изменение источника
- вам нужно только один
AVPlayer
для воспроизведения нескольких файлов.
- вам нужно несколько
AVAudioPlayer
для воспроизведения нескольких файлов.