HTML5   发布时间:2022-04-27  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ios – 如何在使用avplayer播放音频时将音频缓存到本地大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用AVPlayer在线播放音频,并希望在avplayer完成加载流时将数据/音频流保存到本地.

我实现如下:

let fileUrl =  NSURL(string: strUrl)!
    let asset = AVURLAsset(URL: fileUrl)
    asset.resourceLoader.setDelegate(self,queue:dispatch_queue_create("AVARLDelegateDemo loader",nil))
    self.pendingRequests = [AVAssetResourceLoadingRequest]()

    asset.loadValuesAsynchronouslyForKeys(["playable"]){
        dispatch_async( dispatch_get_main_queue()){
            self.prepareToPlayAsset(asset,requestedKeys: ["playable"])
        }
    }


  func resourceLoader(resourceLoader: AVAssetResourceLoader,shouldWaitForLoadingOfRequestedResource loadingRequest: AVAssetResourceLoadingRequest) -> Bool {
    .......
    return false
}

当url是http / https时,它不会调用resourceLoader(resourceLoader:AVAssetResourceLoader,shouldWaitForLoadingOfRequestedResource …. –,当url是自定义的(例如:’test’)时,它调用resourceLoader(resourceLoader:AVAssetResourceLoader,shouldWaitForLoadingOfRequestedResource …

谁知道原因,resourceLoader不支持http / https吗?

解决方法

当播放器不知道如何加载文件时,它会调用resourceLoader(resourceLoader:AVAssetResourceLoader,shouldWaitForLoadingOfRequestedResource …方法.因为它知道如何加载URL,所以它不会调用方法,因此您必须传递自定义URL.

大佬总结

以上是大佬教程为你收集整理的ios – 如何在使用avplayer播放音频时将音频缓存到本地全部内容,希望文章能够帮你解决ios – 如何在使用avplayer播放音频时将音频缓存到本地所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: