Swift-音频实现崩溃:“EXC_BAD_INSTRUCTION”
Posted
技术标签:
【中文标题】Swift-音频实现崩溃:“EXC_BAD_INSTRUCTION”【英文标题】:Swift- audio implementation crash: "EXC_BAD_INSTRUCTION" 【发布时间】:2014-09-21 20:14:16 【问题描述】:我正在尝试将音频放入我的应用程序中,然后我输入了以下代码并将我的 mp3 音频文件放入了我的资产文件夹中,它崩溃了:“EXC_BAD_INSTRUCTION(code=EXC_1386_INVOP, subcode=0x0)”
对于我做错了什么/我需要将音频文件放在哪里,我真的可以使用一些帮助。 我的代码:
import UIKit
import AVFoundation
class ViewController: UIViewController
var audioPlayer = AVAudioPlayer()
override func viewDidLoad()
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
ScrollView.scrollEnabled = true
ScrollView.contentSize = CGSize(width:473, height: 112)
changer = 0
tapView.hidden = true
yoohooView.hidden = true
var alertSound = NSURL(fileURLWithPath: NSBundle.mainBundle().pathForResource("Untitled", ofType: "mp3")!) //Crashes here
println(alertSound)
// Removed deprecated use of AVAudiosessionDelegate protocol
AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback, error: nil)
AVAudioSession.sharedInstance().setActive(true, error: nil)
var error:NSError?
audioPlayer = AVAudioPlayer(contentsOfURL: alertSound, error: &error)
audioPlayer.prepareToPlay()
audioPlayer.play()
【问题讨论】:
【参考方案1】:class ViewController: UIViewController
var audioPlayer = AVAudioPlayer()
@IBOutlet weak var svScrollView: UIScrollView!
override func viewDidLoad()
super.viewDidLoad()
svScrollView.scrollEnabled = true
svScrollView.contentSize = CGSize(width:473, height: 112)
var alertSound = NSURL(fileURLWithPath: NSBundle.mainBundle().pathForResource("myMusic", ofType: "mp3")!)
println(alertSound)
AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback, error: nil)
AVAudioSession.sharedInstance().setActive(true, error: nil)
var error:NSError?
audioPlayer = AVAudioPlayer(contentsOfURL: alertSound, error: &error)
audioPlayer.prepareToPlay()
audioPlayer.play()
我试过上面的代码。 . .为我工作很好。 . . 请试试这个。 . .
【讨论】:
以上是关于Swift-音频实现崩溃:“EXC_BAD_INSTRUCTION”的主要内容,如果未能解决你的问题,请参考以下文章