AVPlayer против AVAudioPlayer - PullRequest
       15

AVPlayer против AVAudioPlayer

44 голосов
/ 19 июля 2010

Документация для AVPlayer гласит следующее:

[Плеер] одинаково хорошо работает с локальными и удаленными медиафайлами

Однако,документация для AVAudioPlayer гласит следующее:

Apple рекомендует использовать этот класс для воспроизведения звука, если только вы не воспроизводите звук, захваченный из сетевого потока

Для работы, которую я делаю, мне нужны некоторые возможности AVAudioPlayer, но все мое аудио передается в потоковом режиме.Главное, что мне нужно от AVAudioPlayer, которого у AVPlayer нет, - это свойство воспроизведения.Среди прочего, сложно создать пользовательский интерфейс плеера без этого свойства.

Так в чем же отличие AVPlayer от AVAudioPlayer, которое делает его непригодным для потоковой передачи по сети?Есть ли способ получить некоторую информацию от AVPlayer, которую предоставляет AVAudioPlayer, например свойство «Playing»?

Ответы [ 3 ]

36 голосов
/ 04 ноября 2010
  1. AVPlayer может воспроизводить из AVPlayerItem, используя AVURLAsset с URL-адресом библиотеки iPod.AVAudioPlayer не может воспроизводиться с URL-адреса библиотеки iPod.

  2. AVPlayer не имеет свойства громкости и требует использования настройки громкости системы, которая может управляться только аппаратным переключателем или MPVolumeView.Но вы можете установить громкость микширования AVAudioPlayer.

  3. AVPlayer, похоже, сообщает о неверном currentTime после поиска.Но AVAudioPlayer сообщает точно.

18 голосов
/ 16 марта 2017

7 лет спустя ...

С точки зрения зависимости от Swift и CocoaPods, поэтому мой ответ сравнивается только для iOS 8 + .

1.Поддержка библиотеки iPod

идентична поддержке с iOS6

2.регулятор громкости

идентичная поддержка:

3.управление поиском

AVPlayer и AVAudioPlayer, похоже, сообщают о неверном currentTime после поиска:

4.изменение источника

  • вам нужен только один AVPlayer для воспроизведения нескольких файлов
  • вам нужно несколько AVAudioPlayer для воспроизведения нескольких файлов
7 голосов
/ 19 июля 2010

AVPlayer на самом деле имеет свойство, аналогичное свойству воспроизведения AVAudioPlayer. Взгляните на свойство rate.

...