gpt4 book ai didi

ios - 线程1:EXC_BAD_ACCESS(代码= 1,地址= 0x48)avaudiofoundation

转载 作者:行者123 更新时间:2023-12-01 16:13:33 25 4
gpt4 key购买 nike

当我尝试运行我的代码时,在上面的标题中的代码行上出现错误

audioPlayer =试试AVAudioPlayer(contentsOf:url)

在我将Xcode更新为Xcode 11之前,这段代码就像一个魅力一样工作,现在使用Swift 5,我不得不对其进行更改,现在它不起作用了。有人可以帮帮我吗?这是我的代码

import UIKit
import AVFoundation

class ViewController: UIViewController, AVAudioPlayerDelegate {

override func viewDidLoad() {
super.viewDidLoad()

playAudio()

}

@IBAction func playButton(_ sender: Any) {
playAudio()
}


var indexPath = 0
var listOfTheSongs = ["badLiar.mp3", "cool.mp3", "eastSide.mp3", "fallinAllInYou.mp3", "hateHowMuchILoveYou.mp3", "inMyBlood.mp3", "letMeDownSlowly.mp3", "loveYourself.mp3", "panini.mp3", "rewriteTheStars.mp3", "stiches.mp3", "treatYouBetter.mp3", "wow.mp3"]
var audioPlayer = AVAudioPlayer()
var path = Bundle.main.path(forResource: "badLiar.mp3" , ofType: nil , inDirectory: "Songs For Lyric Hunt")!


func playAudio () {

if path != nil {
print("path does not equal nil")
let url = URL(fileURLWithPath: path)
do {
audioPlayer = try AVAudioPlayer(contentsOf: url)
if audioPlayer.isPlaying == true {
audioPlayer.stop()
} else {
audioPlayer.play()
}
} catch {
// couldn't load file :(
print("counldn't load file :(")
}
}else {
print(" path equals to nil")

}
}



}

最佳答案

引用此answer,您需要像下面这样初始化AVAudioPlayer:

var audioPlayer: AVAudioPlayer!

用上面的行替换 var audioPlayer = AVAudioPlayer()

这应该可以解决崩溃问题。似乎是iOS 13.1出现了问题

关于ios - 线程1:EXC_BAD_ACCESS(代码= 1,地址= 0x48)avaudiofoundation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58313375/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com