Swift-音频实现崩溃:" EXC_BAD_INSTRUCTION"

时间:2014-09-21 20:14:16

标签: audio swift avfoundation

我正在尝试将音频放入我的应用程序中,然后输入以下代码并将我的mp3音频文件放在我的资源文件夹中,它崩溃了:" EXC_BAD_INSTRUCTION(代码= EXC_1386_INVOP,子代码= 0x0)& #34;

我真的可以帮助我做错了什么/我需要放音频文件的地方。 我的代码:

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 个答案:

答案 0 :(得分: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()
} 
}

我尝试了上面的代码。 。 。为我工作很好。 。 。 请试试这个。 。