ios - 创建 Swift AVAudioPlayer 错误

标签 ios swift avplayer

尝试使用以下代码添加多个玩家:

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
    }


 }
}

但我不断收到来自此行代码“if let newPlayer = AVAudioPlayer(contentsOfURL:url, error: &error)”的错误“参数标签 '(contentsOfURL:, error:)' 与任何可用的重载不匹配”已经尝试使用尝试!但我无法消除该错误,只是在插入“尝试!”时收到不同的错误任何帮助将不胜感激。

最佳答案

AVAudioPlayer(contentsOfURL:url, error: &error) 不是 Swift 中 AVAudioPlayer 的有效构造函数。相反,您必须使用 AVAudioPlayer(contentsOfURL:url),这可能会引发错误。有多种方法可以处理该错误(请参阅 Swift Error Handling ),但您可能想要尝试?

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
}

关于ios - 创建 Swift AVAudioPlayer 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37335863/

相关文章:

iOS 在没有 Audio Session 的情况下播放视频

ios - 在 UItextfield 的右 View 上添加一个按钮,文本不应与按钮重叠

ios - 如何查看带有 NohanaImagePicker pod 文件的图像?

swift - 尽管 URL 正确,AVPlayer 仍无法播放

objective-c - 背景音乐

ios - iOS 中的背景音频

ios - 如何测量 iOS 设备上的 safari 浏览器中的网页加载时间

ios - 在后台线程中缩放图像崩溃 - UIGraphicsImageRenderer

ios - 为什么更新可观察对象中的变量不更新 View ?

xcode - Swift 随机数问题