如何将“AVAudioPlayer.Type”类型的值分配给“AVAudioPlayer?”

Posted

技术标签:

【中文标题】如何将“AVAudioPlayer.Type”类型的值分配给“AVAudioPlayer?”【英文标题】:How do I assign value of type 'AVAudioPlayer.Type' to type 'AVAudioPlayer?' 【发布时间】:2016-11-17 09:48:28 【问题描述】:

我正在制作一个音效应用程序,我目前正在尝试通过按下按钮来播放声音,但在修复错误之前我无法构建它。这是我遇到的一个错误,但我不知道如何解决它。

这是我的代码:

class ViewController: UIViewController 
     let noiseMaker = NoiseMaker()
      var player: AVAudioPlayer?

override func viewDidLoad() 
    super.viewDidLoad()

@IBAction func curse(_ sender: AnyObject) 
    noiseMaker.play(sender.tag)
    if let url = Bundle.main.url(forResource: getName(tag: sender.tag), withExtension: "wav")
        player = try! AVAudioPlayer

它给我的错误是这样的:

无法将类型“AVAudioPlayer.Type”的值分配给类型“AVAudioPlayer?”

【问题讨论】:

【参考方案1】:

这样使用:

player = try AVAudioPlayer(contentsOfURL: url)
player.delegate = self
player.prepareToPlay()
player.play()

【讨论】:

以上是关于如何将“AVAudioPlayer.Type”类型的值分配给“AVAudioPlayer?”的主要内容,如果未能解决你的问题,请参考以下文章

VB中如何将object类型转换为其他类型?

如何将IntPtr类型转为Image类型

如何将匿名类型作为参数传递?

如何将字符串文字类型定义为另一个字符串文字类型的子类型?

如何将DateTime类型转换成String类型

如何将int转换成double