Есть ли способ воспроизвести видео во время его загрузки в Objective-C? Я пытаюсь настроить прогрессивную загрузку с помощью AFNetworking, потому что хочу, чтобы процесс был асинхронным, поэтому я не замораживаю пользовательский интерфейс, и мне нужны некоторые учетные данные для доступа к файлу. Но подойдет и любое другое решение, не связанное с 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];