iOS 는 비디오 다운 로드 를 실현 하고 앨범 에 자동 으로 저장 합 니 다.

iOS 동 영상 다운로드 기능 이 구현 되 고 앨범 에 자동 으로 저 장 됩 니 다(MBProgressHUD 에서 설명 을 풀 수 있 음).참고 하 시기 바 랍 니 다.구체 적 인 내용 은 다음 과 같 습 니 다.
비디오 클래스 정의 속성

///@property (nonatomic,strong) MBProgressHUD *hud;

@property (nonatomic,strong) NSURLSession *session;
///         url 
@property (nonatomic,strong) NSURL *url;

///   session
- (NSURLSession *)session{
 if(_session == nil)
 {
 NSURLSessionConfiguration *config = [NSURLSessionConfiguration defaultSessionConfiguration];
 _session = [NSURLSession sessionWithConfiguration:config delegate:self delegateQueue:nil];
 }
 return _session;
}



///  
- (void)download:(UIBarButtonItem *)btnItem{
 ///   Session
 _session = [XMConciseVedioPlayer getSession:_session];
 
 ///self.hud = [MBProgressHUD showHUDAddedTo:self animated:YES];
 
 [self downloadFileWithUrl:self.url];
 
}
///  url  
- (void)downloadFileWithUrl:(NSURL *)url{
 NSURLRequest *request = [NSURLRequest requestWithURL:url cachePolicy:1.0 timeoutInterval:5.0];
 ///    
 [[self.session downloadTaskWithRequest:request]resume];
 
 NSURLSessionDownloadTask *task = [_session downloadTaskWithURL:url completionHandler:^(NSURL *location, NSURLResponse *response, NSError *error) {
 ///[self.hud setLabelText:[NSString stringWithFormat:@"    "]];
 NSFileManager *fileManger = [NSFileManager defaultManager];
 ///  Documents  
 NSString *documents = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];
 //        
 NSString *path = [documents stringByAppendingPathComponent:response.suggestedFilename];
 //         
 [fileManger moveItemAtURL:location toURL:[NSURL fileURLWithPath:path] error:nil];
 ///     
 UISaveVideoAtPathToSavedPhotosAlbum(path, self, @selector(video:didFinishSavingWithError:contextInfo:), nil);

 
 }];
 ///      
 [task resume];
 
}

//           
- (void)video:(NSString *)videoPath didFinishSavingWithError:(NSError *)error contextInfo:(void *)contextInfo {
 if (!error) {
 ///[self.hud setLabelText:[NSString stringWithFormat:@"       "]];
 } else {
 ///[self.hud setLabelText:[NSString stringWithFormat:@"    "]];
 }
 ///[self.hud hide:YES afterDelay:3.0];
}


//     
- (void)URLSession:(NSURLSession *)session downloadTask:(NSURLSessionDownloadTask *)downloadTask didWriteData:(int64_t)bytesWritten totalBytesWritten:(int64_t)totalBytesWritten totalBytesExpectedToWrite:(int64_t)totalBytesExpectedToWrite{
 float progress = (float)totalBytesWritten / totalBytesExpectedToWrite;
 long pro = (long)(progress *100);
 ///[self.hud setLabelText:[NSString stringWithFormat:@"    :%ld%%",pro]];
}
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기