Я получаю это сообщение в журнале кошек несколько раз:
[avas] AVAudioSessionPortImpl.mm:56:ValidateRequiredFields: Unknown selected data source for Port Speaker (type: Speaker)
Я использую этот код для воспроизведения фоновой музыки:
let path = Bundle.main.path(forResource: fileName, ofType:"mp3")!
let url = URL(fileURLWithPath: path)
do {
let sound = try AVAudioPlayer(contentsOf: url)
self.player = sound
sound.prepareToPlay()
sound.volume = 0.05
sound.numberOfLoops = loops
sound.play()
} catch {
print("[PLAY SOUND][DELEGATE] error loading file -> \(fileName)")
}
Я провел исследование и нашел похожиепроблемы, поэтому я добавил аудио категорию в viewdidload:
do {
try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback, mode: AVAudioSessionModeDefault)
try AVAudioSession.sharedInstance().setActive(true)
} catch {
print(error)
}
после того, как я добавил вышеупомянутый код, фоновая музыка играет, даже если телефон в беззвучном режиме!и сообщение отладчика для Unknown selected data source for Port Speaker (type: Speaker)
все еще показывает