为 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 创建音板应用程序 - 卡住了的主要内容,如果未能解决你的问题,请参考以下文章