【问题标题】:Exception EXC_BAD_INSTRUCTION playing audio in swift 2异常 EXC_BAD_INSTRUCTION 在 swift 2 中播放音频
【发布时间】:2015-07-24 14:40:01
【问题描述】:

我正在尝试在 swift 2 中播放音频,但出现错误:

Thread 1: EXC_BAD_INSTRUCTION(code=EXC_I386_INVOP, subcode = 0x0)

从 swift 1 到 2 发生了一些变化,所以我输入了 do 流行语,但现在它不起作用 代码:

import UIKit
import AVFoundation

class ViewController: UIViewController {

@IBOutlet weak var PausePlay: UIButton!


-->  var ButtonAudioURl = NSURL(fileURLWithPath: NSBundle.mainBundle().pathForResource("Tutava", ofType: "aif")!)

var ButtonAudioPlayer = AVAudioPlayer()


override func viewDidLoad() {
    super.viewDidLoad()


    do {
        ButtonAudioPlayer = try AVAudioPlayer(contentsOfURL: ButtonAudioURl)
    } catch _ {
    }
}

@IBAction func PlayAudio(sender: AnyObject) {

    ButtonAudioPlayer.play()

}
}

谁能帮帮我?谢谢

【问题讨论】:

  • Xcode 是一个开发环境,与您的问题无关。显示崩溃的堆栈跟踪。
  • 它发生在我声明 var ButtonAudioURL
  • 如果在viewDidLoad 中初始化ButtonAudioURL 会怎样?
  • 没有任何变化,我得到同样的错误
  • 你不能因为那个变量声明现在没有做任何事情。它应该是空的。删除ButtonAudioPlayer 的(无意义的)初始化以及viewDidLoad 中已经初始化的初始化。

标签: ios avaudioplayer ios9


【解决方案1】:

所以我终于找到了问题所在。导入音频文件时,我必须选中“添加到目标”复选框。

非常感谢您的帮助。

【讨论】:

  • 我在操场上测试了'var ButtonAudioURL ...'行,同样的错误,然后我将声音文件添加到操场资源,然后它工作了。
猜你喜欢
  • 2017-02-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-10
  • 2014-12-08
相关资源
最近更新 更多