AudioServicesPlaySystemSound无法使用给定的AVAudioSession配置播放声音

时间:2019-10-22 00:30:41

标签: swift audio

我有一个使用以下功能播放声音的模块:

let pop = SystemSoundID(1519)
AudioServicesPlaySystemSoundWithCompletion(pop, {})

在我更改音频会话配置以支持AppDelegate中的内置麦克风之前,它一直有效:

if let desc = AVAudioSession.sharedInstance().availableInputs?.first(where: { (desc) -> Bool in
            return desc.portType == AVAudioSession.Port.builtInMic
        }) {
            do {
                try AVAudioSession.sharedInstance().setCategory(AVAudioSession.Category.playAndRecord, options: .defaultToSpeaker)
                try AVAudioSession.sharedInstance().setMode(AVAudioSession.Mode.spokenAudio)
                try AVAudioSession.sharedInstance().setPreferredInput(desc)
                try AVAudioSession.sharedInstance().setActive(true)
            }

如果我注释了上面的代码,则音频服务系统声音已成功播放。 我不知道为什么,我想保持音频会话配置不变。

0 个答案:

没有答案