Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/93.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 线程1:EXC_BAD_访问(代码=1,地址=0x48)avaudiofoundation_Ios_Xcode_Avfoundation_Swift5 - Fatal编程技术网

Ios 线程1:EXC_BAD_访问(代码=1,地址=0x48)avaudiofoundation

Ios 线程1:EXC_BAD_访问(代码=1,地址=0x48)avaudiofoundation,ios,xcode,avfoundation,swift5,Ios,Xcode,Avfoundation,Swift5,当我试图运行我的代码时,我在代码的上面一行中得到了标题中的错误 audioPlayer=尝试AVAudioPlayer(内容:url) 在我将我的Xcode更新为Xcode 11之前,这段代码非常有用,现在使用swift 5时,我不得不更改它,但现在它不工作了。有人能帮我吗?这是我的密码 import UIKit import AVFoundation class ViewController: UIViewController, AVAudioPlayerDelegate { overri

当我试图运行我的代码时,我在代码的上面一行中得到了标题中的错误

audioPlayer=尝试AVAudioPlayer(内容: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")

        }
    }



}
鉴于此,您需要初始化AVAudioPlayer,如下所示:

var audioPlayer: AVAudioPlayer!
将您的
var audioPlayer=AVAudioPlayer()
替换为上述行


这应该可以修复崩溃。问题似乎发生在iOS 13.1上。您是否将框架添加到项目中? 如果没有,试试这个

在游戏/应用程序的常规选项卡中 框架、库和嵌入式内容 单击+并键入或搜索AVFoundation.framework


希望有帮助

您是否检查了“url”是否正确初始化?用断点或打印检查。EXC_BAD_访问主要是因为试图访问无效内存。请指定具体的检查方法,好吗?只需打印(“url值:(url)”;在“执行”之前打印。或者,在audioPlayer=try AVAudioPlayer(contentsOf:url)这行上放置一个断点,当它在控制台中中断时,“po url”。检查url的值是多少。很可能是无效的。打印url的结果是“file:///Users/ryan/Library/Developer/CoreSimulator/Devices/541EC05F-C569-4049-8F38-7CA1D919C72C/data/Containers/Bundle/Application/3C1D3317-946A-4FC0-8285-476A0FA644E7/Lyric%20Hunt.app/Songs%20For%20Lyric%20Hunt/badLiar.mp3“,看起来无效吗?谢谢。在我格式化我的Mac并安装OSX Catalina并重新安装Xcode更新到11.1之后,在运行我的项目时,我得到了这个错误>线程1:EXC_BAD_ACCESS(code=1,address=0x48),起初我有这些小错误?当我将鼠标悬停在Xcode中的声音文件上时,它旁边的标记表示“未版本化”。我用鼠标右键点击它,选择“源代码管理”-“添加”,然后改成一个小a(添加),它就被修复了。但是我仍然收到错误,直到我将
var audioPlayer=AVAudioPlayer()
更改为您建议的
var audioPlayer:AVAudioPlayer