Swift - 音频 - 按钮声音不断出错

Posted

技术标签:

【中文标题】Swift - 音频 - 按钮声音不断出错【英文标题】:Swift - Audio - keep getting error for button sound 【发布时间】:2015-01-01 21:59:39 【问题描述】:

我刚刚开始在 ios 中进行开发,并尝试创建简单的应用程序,当我按下按钮时会一次又一次地更改图像和播放声音,但运行时总是出错。

Error "fatal error: unwrapping an Optional value 时意外发现 nil (lldb)"

这是我的“view controller.swift”

import UIKit
import AVFoundation

class ViewController: UIViewController 

let image0 = UIImage(named: "button.png")
let image1 = UIImage(named: "buttonPressed.png")

var sound = NSURL(fileURLWithPath: NSBundle.mainBundle().pathForResource("sound", ofType: "m4a")!)
var player = AVAudioPlayer()

@IBOutlet weak var clicker: UIButton!

@IBAction func clickerPressed(sender: UIButton) 

    sender.setImage(image1, forState:.Highlighted)

    player.stop()
    player.currentTime = 0
    player.play()



override func viewDidLoad() 
    super.viewDidLoad()

    clicker.setImage(image0, forState:.Normal)
    clicker.setImage(image1, forState:.Highlighted)

    player = AVAudioPlayer(contentsOfURL: sound, error: nil)
    player.prepareToPlay()



override func didReceiveMemoryWarning() 
    super.didReceiveMemoryWarning()


【问题讨论】:

它说明错误出现在哪一行? 第 17 行:var sound = NSURL(fileURLWithPath: NSBundle.mainBundle().pathForResource("sound", ofType: "m4a")!) 线程 1:EXC_BAD_INSTRUCTION(代码=EXC_I386_INVOP,子代码=0x0) 【参考方案1】:

谢谢你,迈克尔。问题已解决。 显然原始 .m4a 文件有问题。我将其转换为 .mp3 并且一切正常。

【讨论】:

以上是关于Swift - 音频 - 按钮声音不断出错的主要内容,如果未能解决你的问题,请参考以下文章

切换系统声音 - 快速

swift AVAudioPlayer播放音频时声音太小

swift 音频 - 从阵列中的几个播放声音(木琴)

实时改变声音的音高(Swift)

如何在 Xcode11 中的 Swift 中随机播放数组中的音频文件?

单击另一个按钮 swift 2.2 更改声音按钮图像