Разрешить iTunes воспроизводить поверх воспроизведения видео в Swift - PullRequest
0 голосов
/ 05 сентября 2018

Я бы хотел, чтобы воспроизведение музыки продолжалось, если в моем приложении воспроизводится видео, так как в большинстве из них нет звука, но найденный код был преобразован из Obj-C в Swift и теперь, похоже, имеет проблемы.

func handleAmbientAudio(){
    if !recordMicInputOn {
        try? AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryAmbient)
        try? AVAudioSession.sharedInstance().setActive(false)
    }
}

Перед вызовом функции play () на AVPlayer, я вызываю функцию выше, которая также проверяет, был ли микрофонный вход включен или нет. Если нет, большую часть времени он продолжает воспроизводить iTunes во время воспроизведения видео. В других случаях я получаю этот сбой на моем аудио сеансе:

**** Завершение работы приложения из-за необработанного исключения 'NSRangeException', причина: '* - [__ NSArray0 objectAtIndex:]: индекс 0 вне границ для пустого NSArray' Первый вызов стека вызовов: (0x1849e6d8c 0x183ba05ec 0x184942448 0x10314fdac 0x1031627e4 0x102a6ce44 0x102a05ea8 0x1029d7ed8 0x18540da3c 0x103b711dc 0x103b7119c 0bb 0x0 0 5 0 0 5 0 0 5 0 0 5 0 0 5 5 0 0 5 5 0 0 5 5 0 0 5 5 0 0 5 5 0 0 5 5 0 0 5 5 0 0 5 5 0 5 0 5 5 0 5 0 5 5 0 5 0 0 5 5 0 5 0 0 5 5 0 5 0 0 5 5 0 0 5 5 0 0 5 5 0 0 5 5 0 0 5 5 0 0 5 5 0 0 5 0 0 5 5 0 0 5 5 0 0 0 5 0 5 0 5 0 5 0 5 0 5 0 5 5 0 5 0 libc ++ abi.dylib: завершается с необработанным исключением типа NSException

Я думаю, что многое изменилось, но я не могу понять, как этого добиться в Swift.

...