iOS视频下载遇到的问题(附上AFHTTPRequestOperation下载视频方法)

来源:互联网 发布:好听的歌 知乎 编辑:程序博客网 时间:2024/06/08 10:18

前言:

最近做即时聊天项目,涉及到视频的上传下载。AFNetworking上传图片和视频(支持多张图片上传)

在视频下载中遇到一些问题,视频下载后无法播放


1 视频下载方法

/** * 下载文件 */- (void)downloadFileURL:(NSString *)aUrl savePath:(NSString *)aSavePath fileName:(NSString *)aFileName tag:(NSInteger)aTag{    NSFileManager *fileManager = [NSFileManager defaultManager];        //检查本地文件是否已存在    NSString *fileName = [NSString stringWithFormat:@"%@/%@", aSavePath, aFileName];        //检查附件是否存在    if ([fileManager fileExistsAtPath:fileName]) {        NSData *audioData = [NSData dataWithContentsOfFile:fileName];        //...视频下载完毕操作    }else{        //创建附件存储目录        if (![fileManager fileExistsAtPath:aSavePath]) {            [fileManager createDirectoryAtPath:aSavePath withIntermediateDirectories:YES attributes:nil error:nil];        }                //下载附件        NSURL *url = [[NSURL alloc] initWithString:aUrl];        NSURLRequest *request = [NSURLRequest requestWithURL:url];                AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request];        operation.inputStream   = [NSInputStream inputStreamWithURL:url];        operation.outputStream  = [NSOutputStream outputStreamToFileAtPath:fileName append:NO];                //下载进度控制        /*         [operation setDownloadProgressBlock:^(NSUInteger bytesRead, long long totalBytesRead, long long totalBytesExpectedToRead) {         NSLog(@"is download:%f", (float)totalBytesRead/totalBytesExpectedToRead);         }];         */                //已完成下载        [operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {                        NSData *audioData = [NSData dataWithContentsOfFile:fileName];            //设置下载数据到res字典对象中并用代理返回下载数据NSData           //...视频下载完毕操作                    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {                        //下载失败            //...视频下载失败操作        }];                [operation start];    }}

2 下载完视频后,文件没有加后缀.MP4 就会出现播放不了的情况,我的解决方法是,在上面的filename加一个后缀.mp4,播放就ok了。


3 在下载其他文件时,如图片,录音,并未发现不加后缀就不正常显示或播放问题,有了解的或做IM项目的欢迎找我交流。我的软件群156747694

0 0
原创粉丝点击