ios - 错误域=NSOSStatusErrorDomain 代码=1954115647 "(null)"

标签 ios swift

所以我有一个 AVAudioPlayer,有时它工作得很好,但有时它会打印错误“Error Domain=NSOSStatusErrorDomain Code=1954115647”(null)”。这是代码:

override func viewDidLoad() {
    super.viewDidLoad()
    downloadFileFromURL(url: URL(string: mainPreviewURL)!)
}

func downloadFileFromURL(url: URL) {
    var downloadTask = URLSessionDownloadTask()
    downloadTask = URLSession.shared.downloadTask(with: url, completionHandler: {
        customURL, response, error in

        self.play(url: customURL!)
    })
    downloadTask.resume()
}

func play(url: URL) {
    do {
        player = try AVAudioPlayer(contentsOf: url)
        try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback)
        player!.prepareToPlay()
        player!.play()
    } catch {
        print(error)
    }
}

最佳答案

让你的 do 语句中的代码看起来像这样:

    let songData = try NSData(contentsOfURL: songURL!, options: NSDataReadingOptions.mappedIfSafe)
    try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback)
    try AVAudioSession.sharedInstance().setActive(true)
    player = try AVAudioPlayer(data: songData!, fileTypeHint: AVFileTypeMpegLayer3)
    player!.prepareToPlay()
    player!.play()

关于ios - 错误域=NSOSStatusErrorDomain 代码=1954115647 "(null)",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41981498/

相关文章:

ios - 我的导航栏有什么问题?

ios - NSPredicate 使用数组作为过滤器

iOS 无法从 json 获取图像到 TableViewCell

ios - 向类的实例发送 "class"消息是什么意思

ios - 以编程方式设置 NSCameraUsageDescription?

ios - Twitter 获取请求不断返回代码 88 - "Rate limit exceeded"

objective-c - 在 UITableView 中显示建议的位置

ios - 通过 Segue 传递 indexPath

ios - 向下或向上滑动 MKMapView 指定数量的像素

ios - Xcode 6 中的自定义字体