Encontré un problema al ejecutar el siguiente código en iOS 15. Esto ocurre tanto en un simulador como en un dispositivo real. Además, esto no ocurre en iOS 14.
import AVFoundation class MyAudio { let audioEngine: AVAudioEngine let audioFile: AVAudioFile let playerNode: AVAudioPlayerNode init() { audioFile = try! AVAudioFile(forReading: Bundle.main.url(forResource: "sound", withExtension: "mp3")!) audioEngine = AVAudioEngine() playerNode = AVAudioPlayerNode() audioEngine.attach(playerNode) audioEngine.connect(playerNode, to: audioEngine.mainMixerNode, format: audioFile.processingFormat) do { try audioEngine.start() playerNode.play() } catch { print(error.localizedDescription) } } }Imprimirá estas salidas.
2021-10-02 17:29:14.534934+0900 audio-sample-2021-10-02[11337:353838] throwing -10878 2021-10-02 17:29:14.537588+0900 audio-sample-2021-10-02[11337:353838] throwing -10878 2021-10-02 17:29:14.537895+0900 audio-sample-2021-10-02[11337:353838] throwing -10878 2021-10-02 17:29:14.538194+0900 audio-sample-2021-10-02[11337:353838] throwing -10878 2021-10-02 17:29:14.538512+0900 audio-sample-2021-10-02[11337:353838] throwing -10878 2021-10-02 17:29:14.538822+0900 audio-sample-2021-10-02[11337:353838] throwing -10878 2021-10-02 17:29:14.539127+0900 audio-sample-2021-10-02[11337:353838] throwing -10878 2021-10-02 17:29:14.539434+0900 audio-sample-2021-10-02[11337:353838] throwing -10878 2021-10-02 17:29:14.539789+0900 audio-sample-2021-10-02[11337:353838] throwing -10878Aunque ocurren estos errores, los sonidos se pueden reproducir sin fallas. Sin embargo, consume mucho tiempo para la inicialización de lo habitual. ¿Hay alguna manera de resolver este problema?
Para solucionar este problema, cambie a:
audioEngine.connect(playerNode, to: audioEngine.outputNode, format: audioFile.processingFormat)