【问题标题】:Swift- audio implementation crash: "EXC_BAD_INSTRUCTION"Swift-音频实现崩溃:“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()

}

【问题讨论】:

    标签: audio swift avfoundation


    【解决方案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()
    } 
    }
    

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

    【讨论】:

      猜你喜欢
      • 2014-11-28
      • 1970-01-01
      • 1970-01-01
      • 2014-08-23
      • 1970-01-01
      • 1970-01-01
      • 2021-05-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多