我使用此代码来播放音频:
let url = Bundle.main.url(forResource: "0", withExtension: "mp3")!
do {
audioPlayer = try AVAudioPlayer(contentsOf: url)
audioPlayer.delegate = self
audioPlayer.prepareToPlay()
play(sender:AnyObject.self as AnyObject)
} catch {
}
在我的 iPhone X 和 iPhone 7 Plus 上的 iOS 12.4.1 上,此代码运行良好。但在 iOS 13 及更高版本上,我的应用程序在此行崩溃 audioPlayer = try AVAudioPlayer(contentsOf: url)
并出现错误 Thread 1: EXC_BAD_ACCESS (code=1, address=0x48)
。但在我的模拟器 iPhone 11 Pro Max 和 iOS 13 上一切正常。为什么会发生这种情况以及如何解决?
最佳答案
我也遇到了这个错误,你可能像这样实例化你的audioPlayer:
let audioPlayer = AVAudioPlayer ()
尝试创建一个可选:
let audioPlayer: AVAudioPlayer?
并在 viewDidLoad() 中完成代码:
let path = Bundle.main.path (forResource: "0", ofType: "mp3")!
let url = URL(fileURLWithPath: path)
do {
audioPlayer = try AVAudioPlayer(contentsOf: url)
} catch{
}
关于ios - AVAudioPlayer 在 iOS 13 上崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58144735/