AVAudioPlayer и AirPlay - возможно? - PullRequest
5 голосов
/ 05 мая 2011

Я пытаюсь выяснить, возможно ли переключить поддержку AirPlay с помощью класса AVAudioPlayer.

Из того, что я прочитал:

AirPlay - это технология, которая позволяет вашему приложению передавать аудио на Apple TV и на сторонние динамики и ресиверы AirPlay. Поддержка AirPlay встроена в фреймворк AV Foundation и семейство фреймворков Core Audio. Любой аудиоконтент, который вы воспроизводите с помощью этих платформ, автоматически получает право на распространение AirPlay. Когда пользователь выбирает воспроизведение аудио с помощью AirPlay, система автоматически направляет его. [ Ссылка ]

На основании этой информации; должен работать с AVAudioPlayer, поскольку он является частью AVFoundation framework; но я не могу найти никакой документации, подтверждающей это предположение.

Я также нашел некоторую документацию о том, что это можно сделать с помощью MPMoviePlayerViewController:

Поддержка воспроизведения видео с использованием AirPlay включена в класс MPMoviePlayerController. Эта поддержка позволяет воспроизводить видео на основе оборудования с поддержкой AirPlay, например Apple TV. Когда для свойства allowsAirPlay активного объекта MPMoviePlayerController установлено значение YES, а устройство находится в диапазоне оборудования с поддержкой AirPlay, проигрыватель фильмов предоставляет пользователю элемент управления для отправки видео на это оборудование. [ Ссылка ]

Похоже, здесь есть противоречивая информация. Кто-нибудь знает, возможно ли использовать AVAudioPlayer для маршрутизации в AirPlay, или мы вынуждены использовать класс MPMoviePlayerController?

Большое спасибо.

Ответы [ 2 ]

2 голосов
/ 05 мая 2011

В ответ на мой собственный вопрос.Похоже, простой способ добавить пользовательский контроллер громкости упоминается здесь: [ ref ], и он будет отлично работать с MPAudioPlayer.Это просто вопрос позиционирования.

0 голосов
/ 16 августа 2015

С Interface Builder это довольно просто, поэтому вы можете легко использовать Auto Layout. Поместите где-нибудь, где вы хотите, объект UIView на ваш главный вид, затем создайте подкласс MPVolumeView и используйте этот пользовательский класс для вашего объекта UIView

enter image description here

и подкласс класса VolumeView MPVolumeView

import UIKit
import MediaPlayer
class VolumeView: MPVolumeView {
   convenience init() {
       self.init()
}

override func drawRect(rect: CGRect) {
    self.showsVolumeSlider = false
    self.layer.cornerRadius = 10.0
    self.clipsToBounds = true

}

}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...