为啥按下按钮时无法播放声音?
Posted
技术标签:
【中文标题】为啥按下按钮时无法播放声音?【英文标题】:Why can't I play sound when a button is pressed?为什么按下按钮时无法播放声音? 【发布时间】:2020-08-08 02:12:17 【问题描述】:这是我编写的代码,但我不了解如何修复此错误。每次我运行应用程序时,构建都会成功,但是当我点击按钮/键时,它会给我这个错误。
线程 1:致命错误:在展开可选值时意外发现 nil
import UIKit
import AVFoundation
class ViewController: UIViewController
var player: AVAudioPlayer!
override func viewDidLoad()
super.viewDidLoad()
@IBAction func keyAPressed(_ sender: UIButton)
playSound()
func playSound()
let url = Bundle.main.url(forResource: "C", withExtension: "wav")
player = try! AVAudioPlayer (contentsOf: url!)
player.play()
【问题讨论】:
你设置AVAudiosession
类别了吗?
感叹号!告诉编译器您希望发生这种崩溃。我建议你学习使用调试器。以及如何设置断点。
【参考方案1】:
您收到错误是因为 url
不存在。
检查您是否指定了正确的文件名并将播放函数包装在do
块中以捕获任何其他错误。下面的代码没有任何错误。
func playSound()
guard let url = Bundle.main.url(forResource: "C", withExtension: "wav") else
print("File not found")
return
do
player = try AVAudioPlayer(contentsOf: url)
player.play()
catch
print(error)
【讨论】:
现在只是打印文件未找到文件未找到,然后当我修复该问题时,它不会播放任何声音 您是如何解决这个问题的?您的音频文件的名称是什么? 没关系,我没有解决这两个问题。以为我做到了,但我没有。它仍然只会打印未找到的文件,也不会播放任何声音 确保您已将名为C.wav
的音频文件添加到项目中。该错误清楚地表明您的项目文件夹中不存在这样的文件。以上是关于为啥按下按钮时无法播放声音?的主要内容,如果未能解决你的问题,请参考以下文章