現在、FairPlayストリーミングでオフラインストリーミングを実装しています。そのため、AVAssetDownloadTask
を使用してストリームをダウンロードしています。私は、ユーザーが開始するために開始し、ダウンロードのサイズに関するフィードバック与えたいダウンロードする前にAVAssetDownloadTaskのサイズを取得します。
:
は、あなたがこのストリームをダウンロードしてもよろしいですか?これは、ダウンロードするための2.4ギガバイトを取ると、あなたは、現在のスペースの14ギガバイトは、私が
countOfBytesReceived
とcountOfBytesExpectedToReceive
のようなプロパティをチェックしましたが、これらは文句を言わないバック正しい値を与える
を残しています。
let headRequest = NSMutableURLRequest(URL: asset.streamURL)
headRequest.HTTPMethod = "HEAD"
let sizeTask = NSURLSession.sharedSession().dataTaskWithRequest(headRequest) { (data, response, error) in
print("Expected size is \(response?.expectedContentLength)")
}.resume()
は、最終サイズが3GBのサイズを出力します。
func URLSession(session: NSURLSession, assetDownloadTask: AVAssetDownloadTask, didLoadTimeRange timeRange: CMTimeRange, totalTimeRangesLoaded loadedTimeRanges: [NSValue], timeRangeExpectedToLoad: CMTimeRange) {
print("Downloaded \(convertFileSizeToMegabyte(Float(assetDownloadTask.countOfBytesReceived)))/\(convertFileSizeToMegabyte(Float(assetDownloadTask.countOfBytesExpectedToReceive))) MB")
}
しかし、これらはゼロに滞在:私は性質上ログインしてダウンロード中
は、私は、このAPIで働いていない0.0/0.0メガバイト
この@Antoine – bnussey