创建 Swift AVAudioPlayer 错误
Creating Swift AVAudioPlayer error
正在尝试使用以下代码添加多个玩家:
class AVAudioPlayerPool: NSObject {
class func playerWithURL(url : NSURL) -> AVAudioPlayer? {
let availablePlayers = players.filter { (player) -> Bool in return player.playing == false && player.url == url
}
if let playerToUse = availablePlayers.first {
print("Reusing player for \(url.lastPathComponent)")
return playerToUse
}
var error : NSError?
if let newPlayer = AVAudioPlayer(contentsOfURL:url, error: &error){
print("Creating new player for url \(url.lastPathComponent)")
players.append(newPlayer)
return newPlayer
}
else{
print("Couldn't load \(url.lastPathComponent):\(error)")
return nil
}
}
}
但我一直收到来自此行代码的错误 "Argument labels '(contentsOfURL:, error:)' do not match any available overloads" "if let newPlayer = AVAudioPlayer(contentsOfURL:url, error: &error)" 我已尝试使用 try!但我无法消除错误,只是在插入 "try!" 时收到不同的错误,我们将不胜感激。
AVAudioPlayer(contentsOfURL:url, error: &error)
不是 Swift 中 AVAudioPlayer 的有效构造函数。相反,您必须使用 AVAudioPlayer(contentsOfURL:url)
,这可能会引发错误。有多种方法可以处理错误(请参阅 Swift Error Handling),但您可能需要 try?
.
if let newPlayer = try? AVAudioPlayer(contentsOfURL: url) {
print("Creating new player for url \(url.lastPathComponent)")
players.append(newPlayer)
return newPlayer
} else {
print("Couldn't load \(url.lastPathComponent):\(error)")
return nil
}
正在尝试使用以下代码添加多个玩家:
class AVAudioPlayerPool: NSObject {
class func playerWithURL(url : NSURL) -> AVAudioPlayer? {
let availablePlayers = players.filter { (player) -> Bool in return player.playing == false && player.url == url
}
if let playerToUse = availablePlayers.first {
print("Reusing player for \(url.lastPathComponent)")
return playerToUse
}
var error : NSError?
if let newPlayer = AVAudioPlayer(contentsOfURL:url, error: &error){
print("Creating new player for url \(url.lastPathComponent)")
players.append(newPlayer)
return newPlayer
}
else{
print("Couldn't load \(url.lastPathComponent):\(error)")
return nil
}
}
}
但我一直收到来自此行代码的错误 "Argument labels '(contentsOfURL:, error:)' do not match any available overloads" "if let newPlayer = AVAudioPlayer(contentsOfURL:url, error: &error)" 我已尝试使用 try!但我无法消除错误,只是在插入 "try!" 时收到不同的错误,我们将不胜感激。
AVAudioPlayer(contentsOfURL:url, error: &error)
不是 Swift 中 AVAudioPlayer 的有效构造函数。相反,您必须使用 AVAudioPlayer(contentsOfURL:url)
,这可能会引发错误。有多种方法可以处理错误(请参阅 Swift Error Handling),但您可能需要 try?
.
if let newPlayer = try? AVAudioPlayer(contentsOfURL: url) {
print("Creating new player for url \(url.lastPathComponent)")
players.append(newPlayer)
return newPlayer
} else {
print("Couldn't load \(url.lastPathComponent):\(error)")
return nil
}