当设备静音且类别为环境时,其他音频也被隐藏



我想在我的应用程序的音频鸭子音乐正在后台播放,但也不能播放时,铃声/静音开关切换到静音模式。我能够通过以下AVAudioSession配置获得这种行为,有一个警告-当音乐播放并且设备静音时,它仍然在躲避音乐,即使我的应用程序(正确地)实际上不播放任何音频。

是否有一个配置使其正常工作?当应用程序实际上不播放音频时,系统会躲避其他人,这似乎很奇怪。这有可能是iOS的一个bug吗?

try AVAudioSession.sharedInstance().setCategory(.ambient, mode: .default, options: [.duckOthers, .interruptSpokenAudioAndMixWithOthers])

这就是我所实现的,我只是静音我的iPad,它没有播放声音。但我不确定iPhone上的行为是否相同,因为我通常总是将手机静音,仍然可以听到音频…

do {
try AVAudioSession.sharedInstance().setCategory(.playback, options: .duckOthers)
} catch(let error) {
print(error.localizedDescription)
}

let utterance = AVSpeechUtterance(string: stringToSpeak)

// Set voice to male or female based on user settings
if defaults.integer(forKey: "Voice") == 1 {
utterance.voice = AVSpeechSynthesisVoice(identifier: "com.apple.ttsbundle.siri_male_ja-JP_compact")
}

else {
utterance.voice = AVSpeechSynthesisVoice(language: "ja-JP")
}

synthesizer.speak(utterance)

相关内容

  • 没有找到相关文章

最新更新