AVAudioPlayer не воспроизводит аудио в swift

#ios #swift #audio #mp3 #avaudioplayer

#iOS #swift #Аудио #mp3 #avaudioplayer

Вопрос:

 var player: AVAudioPlayer! = nil
    
    func playSound() {
        guard let url = Bundle.main.url(forResource: "playing", withExtension: "mp3") else { return }
        
        do {
            try AVAudioSession.sharedInstance().setCategory(.playback, mode: .default)
            try AVAudioSession.sharedInstance().setActive(true)
                        
             player = try AVAudioPlayer(contentsOf: url)
            
            guard let player = player else { return }
            
            player.play()
            
        } catch let error {
            print(error.localizedDescription)
        }
    }
  

когда я выполняю этот код, я получаю следующую ошибку

AudioQueueObject.cpp:372: AudioQueueObject: AudioConverterNew из AudioQueueNew возвращено 1718449215 ввод-вывод: 1 канал, 16000 Гц, клиент Float32: 1 канал, 16000 Гц, ‘.mp1’ (0x00000000) 0 бит / канал, 0 байт / пакет, 384 кадра / пакет, 0 байт / кадр

Ответ №1:

Я использую этот код для воспроизведения звука

 let sound = NSURL(fileURLWithPath: Bundle.main.path(forResource: "sound", ofType: "mp3")!)
            audioPlayer = try! AVAudioPlayer(contentsOf: sound as URL)
            audioPlayer.delegate = self
            audioPlayer.prepareToPlay()
            audioPlayer.play()
  

Я заметил, что вы не подготовили свой медиаплеер перед воспроизведением. вам просто нужно вызвать эту функцию перед воспроизведением звука

           player.prepareToPlay()
  

Комментарии:

1. Спасибо за отчет — @saifullah . локальные аудиофайлы работают нормально. но он не работает, когда мы пытаемся воспроизвести звук, записанный из приложения для Android