iOS实现视频下载并自动保存到相册功能

 更新时间:2020年02月21日 11:13:23   作者:zyw658000  
这篇文章主要为大家详细介绍了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]];
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • iOS开发之UIScrollView详解

    iOS开发之UIScrollView详解

    UIScrollView使用非常广,本文研究UIScrollView各属性和方法,明白它们的意义、作用。这里我们整理UIScrollView一些常见用法以及一些效果的实现思路。
    2016-04-04
  • IOS中UIWebView的使用详解

    IOS中UIWebView的使用详解

    这篇文章主要介绍了IOS中UIWebView的使用详解,涉及到初始化与三种加载方式,一些常用的属性和变量及ios7中的一些新特征,本文介绍的非常详细,感兴趣的朋友一起学习吧
    2016-02-02
  • IOS 开发之读取addressbook的实现实例

    IOS 开发之读取addressbook的实现实例

    这篇文章主要介绍了IOS 开发之读取addressbook的实现实例的相关资料,希望通过本文大家能够掌握这样的内容,需要的朋友可以参考下
    2017-09-09
  • 设计模式中的迭代器模式在Cocoa Touch框架中的使用

    设计模式中的迭代器模式在Cocoa Touch框架中的使用

    这篇文章主要介绍了设计模式中的迭代器模式在Cocoa Touch框架中的使用,示例代码为传统的Objective-C,需要的朋友可以参考下
    2016-03-03
  • iOS开发教程之识别图片中二维码功能的实现

    iOS开发教程之识别图片中二维码功能的实现

    长按识别二维码这个功能相信对大家来说都不陌生,最近工作中就遇到了这个需求,所以下面这篇文章主要给大家介绍了关于利用iOS识别图片中二维码的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2018-07-07
  • iOS开发网络编程之断点续传

    iOS开发网络编程之断点续传

    在下载较大的文件的时候,一次不能下载完毕,这就需要用到断点续传,那么在IOS开发中该如何实现呢,下面跟着小编一起通过本文来学习下。
    2016-08-08
  • iOS离屏渲染过程示例解析

    iOS离屏渲染过程示例解析

    这篇文章主要为大家介绍了iOS离屏渲染过程示例解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-08-08
  • iOS代码瘦身实践之如何删除无用的类

    iOS代码瘦身实践之如何删除无用的类

    这篇文章主要给大家介绍了关于iOS代码瘦身实践之如何删除无用的类,文中通过示例代码介绍的非常详细,对大家各位iOS开发者们具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-08-08
  • iOS 监听回调机制KVO实例

    iOS 监听回调机制KVO实例

    下面小编就为大家分享一篇iOS 监听回调机制KVO实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-01-01
  • ios动态设置lbl文字标签的高度

    ios动态设置lbl文字标签的高度

    本文给大家分享的是ios动态设置lbl文字标签的高度宽度的方法,一共给大家汇总了3种方法,小伙伴们根据自己的项目需求自由选择。
    2015-05-05

最新评论