为 iOS 创建音板应用程序 - 卡住了

Posted

技术标签:

【中文标题】为 iOS 创建音板应用程序 - 卡住了【英文标题】:Creating a soundboard app for iOS - stuck 【发布时间】:2015-09-30 13:35:51 【问题描述】:

我对 ios 开发非常陌生,我正在尝试制作一个简单的音板应用程序。

我看过各种教程和视频,但我似乎无法让我的代码像示例中那样工作。 - 可能是因为视频是 Objective C 或旧版本的 swift - 我不知道。

https://www.youtube.com/watch?v=hzQCLdd2X-A - 似乎是我找到的最简单的方法。

复制他的代码:

import UIKit
import AVFoundation

class ViewController: UIViewController 

    var sound01 = NSURL(fileURLWithPath: NSBundle.mainBundle().pathForResource("filename", ofType: "mp3")!)
    var audioPlayer = AVAudioPlayer()

    override func viewDidLoad() 
        super.viewDidLoad()
        audioPlayer = AVAudioPlayer(contentsOfURL: sound01, error: nil)

        // Do any additional setup after loading the view, typically from a nib.

    

    override func didReceiveMemoryWarning() 
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    


在他的版本中,他没有得到任何错误:- 但在我的版本中,我得到:

调用(have 'contentsOfURL:error:', expected 'contentsOfURL:fileTypeHint:')中的参数标签不正确

当你使用修复它的建议时,它变成:

audioPlayer = AVAudioPlayer(contentsOfURL: sound01, fileTypeHint: nil)

现在我得到这个错误:

调用可以抛出,但是没有标记'try'并且错误不是 处理过

我做错了什么?

【问题讨论】:

Swift 2: Call can throw, but it is not marked with 'try' and the error is not handled 的副本。另请参阅the error handling documentation。 学习 Swift 2 的 do try catch 语法:***.com/questions/30720497/swift-do-try-catch-syntax 【参考方案1】:

尝试替换该行:

audioPlayer = AVAudioPlayer(contentsOfURL: sound01, error: nil)

有了这个:

audioPlayer = 试试! AVAudioPlayer(contentsOfURL: sound01!)

【讨论】:

以上是关于为 iOS 创建音板应用程序 - 卡住了的主要内容,如果未能解决你的问题,请参考以下文章

Java音板 - 听起来不便携

制作音板并使用媒体播放器android

由于配置错误,iOS 应用 Ad Hoc 安装卡住

为啥在 64 位 5s iPhone 上安装时应用程序会卡住

如何从动作栏上的soundpool中停止声音

当我在小于 10 的 ios 版本中隐藏/显示导航栏时,应用程序在进入后台后卡住