AVAudioPlayerを使用してAudioServicesPlaySystemSoundWithCompletionとカスタムサウンドを使用してシステムサウンドを再生しています。ミュート/サイレントモードがオンのときにサウンドが再生される
サイレントスイッチがオンのときに音が再生されるのはなぜですか?私は "AVAudioSession"のすべてのカテゴリを試しました。
私は、次のコードを試してみました:(私は、このリンクで定義されているすべてのカテゴリを試してみましたが、電話がミュートされたときの音がいつも遊んでいる
try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback, with: AVAudioSessionCategoryOptions.mixWithOthers)
try AVAudioSession.sharedInstance().setActive(true)
:
try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategorySoloAmbient)
try AVAudioSession.sharedInstance().setActive(true)
もこれを試してみました無音スイッチON)。 https://developer.apple.com/reference/avfoundation/avaudiosession/audio_session_categories
私はこのようなサウンドを再生しよう:
システムサウンド:
AudioServicesPlaySystemSoundWithCompletion(1304, nil)
カスタム音:
let url = Bundle.main.url(forResource: "sound01", withExtension: ".wav")
do {
if audioPlayer != nil {
audioPlayer!.stop()
audioPlayer = nil
}
if let soundURL = soundURL {
try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback, with: AVAudioSessionCategoryOptions.mixWithOthers)
try AVAudioSession.sharedInstance().setActive(true)
audioPlayer = try AVAudioPlayer(contentsOf: soundURL)
}
guard let audioPlayer = audioPlayer else {
return
}
audioPlayer.prepareToPlay()
audioPlayer.play()
} catch let error {
print(error.localizedDescription)
}
私が何か間違ったことをやっていますか?
あなたの質問を編集して、サウンドの再生方法を含めます。 –
@DanielStorm私はちょうど更新しました。ありがとう。 – user3427013