有没有办法在 Objective-C 中下载视频时播放视频?我正在尝试使用 AFNetworking 设置渐进式下载,因为我希望该过程是异步的,因此我不会冻结 UI,并且我需要一些凭据才能访问该文件。但是任何其他不涉及 AFNetworking 的解决方案也可以。
这是我正在处理的代码。我想在视频完全加载之前启动视频播放,但我坚持这样一个事实,即在下载完成之前响应对象不可用。
NSMutableURLRequest *request = [[AFHTTPRequestSerializer serializer] multipartFormRequestWithMethod:@"POST" URLString:url parameters:nil constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {
[formData appendPartWithFormData:[pwd dataUsingEncoding:NSUTF8StringEncoding] name:@"password"];
[formData appendPartWithFormData:[user_id dataUsingEncoding:NSUTF8StringEncoding] name:@"userid"];
} error:nil];
AFURLSessionManager *manager = [[AFURLSessionManager alloc] initWithSessionConfiguration:[NSURLSessionConfiguration defaultSessionConfiguration]];
manager.responseSerializer = [AFHTTPResponseSerializer serializer];
NSURLSessionUploadTask *uploadTask = [manager uploadTaskWithStreamedRequest:request progress:^(NSProgress * _Nonnull uploadProgress) {
dispatch_async(dispatch_get_main_queue(), ^{
NSLog(@"Fraction completed: %f", uploadProgress.fractionCompleted);
});
} completionHandler:^(NSURLResponse * _Nonnull response, id _Nullable responseObject, NSError * _Nullable error) {
// Here I save the responseObject to the drive and convert it to an AVPlayer asset for playing
}];
[uploadTask resume];