Как избежать влияния Mute Control устройства на AVPlayer

Я использую AVPlayer для воспроизведения видео в своем приложении для iPhone. Когда я отключаю звук устройства с помощью Mute Control, предусмотренного в устройстве, громкость AVPlayer также отключается. Согласно документации, это правильное поведение.

Но этого не происходит с проигрывателем Apple по умолчанию (воспроизведение музыки, воспроизведение видео из приложения «Фотографии»). Почему это? Как добиться такого поведения по умолчанию?


person spd    schedule 10.10.2011    source источник


Ответы (2)


Я вызвал следующий набор кода в своем appDidFinishLaunching:

NSError *sessionError = nil;
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:&sessionError];
[[AVAudioSession sharedInstance] setActive:YES error:&sessionError];
person spd    schedule 10.10.2011

Для Swift 3 поможет следующее. В приведенном ниже примере он запускается при загрузке представления:

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view.

    // avoid affect of Mute Control of the device on AVPlayer
    try? AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback)
    try? AVAudioSession.sharedInstance().setActive(true)
}
person petrosmm    schedule 15.08.2017