我使用AVPlayer在線播放音頻,並且希望在avplayer完成加載流時將音頻數據/音頻流保存到本地。如何在使用avplayer播放音頻時將音頻緩存到本地
我implementt它爲以下幾點:
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
}
當網址爲HTTP/HTTPS,它不調用資源加載(資源加載:AVAssetResourceLoader,shouldWaitForLoadingOfRequestedResource ... - ,當URL是定製(eg.:'test'),它調用資源加載(資源加載:AVAssetResourceLoader,shouldWaitForLoadingOfRequestedResource ...
誰知道其中的原因,難道沒有資源加載支持http/https?
1.這並沒有真正回答他的問題,他詢問爲什麼AVAssetResourceLoader不能在http/https中工作。 2.當你提出你自己寫的圖書館作爲解決方案時,你應該透露你是這個圖書館的作者的事實...... –