请帮帮我!我最近才开始在Swift编程。这是我的第一个项目。我收到错误消息:"调用"中的参数标签不正确。这是我的代码:
import UIKit
import AVFoundation
class PlaySoundsViewController: UIViewController {
var audioPlayer:AVAudioPlayer!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
if var filePath = NSBundle.mainBundle().pathForResource("psl",ofType: "mp3"){
var filePathUrl = NSURL.fileURLWithPath(filePath)
audioPlayer = AVAudioPlayer(contentsOfURL: filePathUrl, error: nil)
}else {
print("the filepath is empty")
}
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
@IBAction func playSoundSlow(sender: UIButton) {
audioPlayer.play()
我不确定此处出现的问题是我的代码的另一张图片,因此您还可以看到错误消息。My Code
我试图让它播放名为psl.mp3的mp3。 请帮我!!!我刚刚开始并且不知道该怎么做。
P.S。不是英语母语,对于错误感到抱歉。
答案 0 :(得分:2)
Swift 2添加了新的错误处理,这意味着您甚至不必传入错误参数:
audioPlayer = try! AVAudioPlayer(contentsOfURL: filePathUrl)
此初始化程序throws
,表示如果出现错误,您可以在do-catch
语句中捕获它。但是,由于您为{error}参数传递了nil
,我假设您确定玩家在那里。这就是为什么我在try!
中使用do-catch
而不使用try
代替do-catch
。
了解新的错误处理here。
答案 1 :(得分:1)
试试这个
do {
audioPlayer = try AVAudioPlayer(contentsOfURL: NSURL.fileURLWithPath(path))
audioPlayer.delegate = self
audioPlayer.prepareToPlay()
audioPlayer.play()
} catch {
print("Catch error in playUsingAudioPlayer")
}