Следующий код для настройки AVAudioSession
'routeSharingPolicy
как .longForm
вызывает эту ошибку:
[avas] AVAudioSession.mm:391:ValidateRouteSharingPolicyParameters: опция категории 0x44 (s) не поддерживается в сочетании с AVAudioSessionRouteSharingPolicyLongForm
Может кто-нибудь помочь мне понять, почему?Похоже, что все 3 из этих CategoryOptions
вызывают ошибку (каждая с различными шестнадцатеричными значениями), но они не требуются для поддержки AirPlay и т. Д .?
Удаление их, похоже, позволяет избежатьпроблема, а не ее устранение, и, согласно этой статье , установка routeSharingPolicy
на .longForm
является ключевой частью процесса установки AirPlay.
let audioSession = AVAudioSession.sharedInstance()
var options = [AVAudioSession.CategoryOptions.allowBluetooth, AVAudioSession.CategoryOptions.allowAirPlay]
if mixWithOtherAudio {
options.append(AVAudioSession.CategoryOptions.mixWithOthers)
}
try audioSession.setCategory(
AVAudioSession.Category.playback,
mode: AVAudioSession.Mode.default,
policy: AVAudioSession.RouteSharingPolicy.longForm,
options: AVAudioSession.CategoryOptions(options)
)