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

标签 audio swift avfoundation

我试图将音频放入我的应用程序中,我放入了以下代码并将我的 mp3 音频文件放在我的 Assets 文件夹中,它崩溃了:“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()

}

最佳答案

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()
} 
}

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

关于audio - Swift- 音频实现崩溃 : "EXC_BAD_INSTRUCTION",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25963411/

相关文章:

swift - 更新用http加载的注释

ios - 为什么当我从捕获输出协议(protocol)调用图像时我的图像没有更新?

ios - 模拟器中音频的 AVCaptureSession

objective-c - NSApplicationMain 如何找到主 nib 文件?

iphone - AVMutableComposition - 是否可能有 2 个并行音轨?

c# - 枢轴选择更改时如何在枢轴项目中加载图像后如何加载音频文件

java - 音频输入编程

java - 如何使用 Java 创建虚拟麦克风驱动程序?

java - 除非插入 Toast 行,否则应用程序中的奇怪行为不会播放声音

json - 将 JSON 数据从 HTTP 请求传递到 Swift 3 中的另一个 View Controller