在开发用到视频时,模拟器中往往没有视频可用,下面的方法可以把工程中得视频导入到模拟器中

- (void)saveAction
{NSMutableArray *videoArray = [NSMutableArray arrayWithCapacity:3];NSArray *movs = [[NSBundle mainBundle] pathsForResourcesOfType:@"mov" inDirectory:nil];[videoArray addObjectsFromArray:movs];// save video to camera rollfor (id item in videoArray) {if (UIVideoAtPathIsCompatibleWithSavedPhotosAlbum(item)) {// Note:save to camera roll is async, so the later item may copy complete than previous itemUISaveVideoAtPathToSavedPhotosAlbum(item, self, nil, NULL);}}
}

获取相册中得视频

#import <AssetsLibrary/AssetsLibrary.h>

- (void)addMovie

{

UIImagePickerController *moviePicker = [[UIImagePickerController alloc] init];

moviePicker.delegate = self;

moviePicker.modalTransitionStyle = UIModalTransitionStyleCoverVertical;

moviePicker.allowsEditing = YES;

moviePicker.mediaTypes = [[NSArray alloc] initWithObjects:(NSString *)kUTTypeMovie, nil];

if (![UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) {

moviePicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;

} else {

moviePicker.sourceType = UIImagePickerControllerSourceTypeCamera;

}

[self presentViewController:moviePicker animated:YES completion:NULL];

}

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info

{

//获取图片的NSURL 来源于AssetsLibrary.framework  #import <AssetsLibrary/AssetsLibrary.h>

NSURL *url = [info objectForKey:UIImagePickerControllerReferenceURL];

//ALAssetsLibrary 获取图片和视频

ALAssetsLibrary *assetLibrary = [[ALAssetsLibrary alloc]init];

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{

if (url) {

// 主要方法

[assetLibrary assetForURL:url resultBlock:^(ALAsset *asset) {

ALAssetRepresentation *rep = [asset defaultRepresentation];

Byte *buffer = (Byte*)malloc((unsigned long)rep.size);

NSUInteger buffered = [rep getBytes:buffer fromOffset:0.0 length:((unsigned long)rep.size) error:nil];

NSData *data = [NSData dataWithBytesNoCopy:buffer length:buffered freeWhenDone:YES];

NSString * videoPath = @"沙盒地址";

[data writeToFile:videoPath atomically:YES];

} failureBlock:nil];

}

});

[picker dismissViewControllerAnimated:YES completion:NULL];

}

获取视频缩略图

+ (UIImage *)getVideoPreViewImage:(NSURL *)videoPath

{

AVURLAsset *asset = [[AVURLAsset alloc] initWithURL:videoPath options:nil];

AVAssetImageGenerator *gen = [[AVAssetImageGenerator alloc] initWithAsset:asset];

gen.appliesPreferredTrackTransform = YES;

CMTime time = CMTimeMakeWithSeconds(0.0, 10);

NSError *error = nil;

CMTime actualTime;

CGImageRef image = [gen copyCGImageAtTime:time actualTime:&actualTime error:&error];

UIImage *img = [[UIImage alloc] initWithCGImage:image];

CGImageRelease(image);

return img;

}

iOS模拟器中导入视频,获取相册视频,视频缩略图相关推荐

  1. iOS 录视频,相册选择视频,视频压缩,存储本地文件,播放,上传

    iOS 录视频,相册选择视频,视频压缩,存储本地文件,播放,上传 工程中用到了这部分的功能,也纠结了几天后做完了,现在总结下这部分的东西. 先说描述下需求: (1)从相册取视频.录视频: (2)视频转 ...

  2. 是否可以在iOS模拟器中禁用网络?

    我正在尝试调试我在应用程序中看到的一些不一致的行为,该应用程序从Internet获取其主要数据. 我没有在设备上看到模拟器中的问题,所以我想在模拟器中重现网络和连接环境. 有没有办法在模拟器中禁用网络 ...

  3. android adb 联系人,使用adb命令向Android模拟器中导入通讯录联系人的方法

    本文实例讲述了使用adb命令向Android模拟器中导入通讯录联系人的方法.分享给大家供大家参考.具体实现方法如下: 使用adb提供的命令, 可以非常方便地从PC中将通讯录导入android模拟器中. ...

  4. iOS模拟器中图片在mac电脑中的实际位置

    iOS模拟器中图片在mac电脑中的实际位置 位置:/Users/hyf/Library/Developer/CoreSimulator/Devices/CE85A44B-79C7-497D-A020- ...

  5. 在 iOS 模拟器中调试 Web 页面

    转自:http://taobaofed.org/blog/2015/11/13/web-debug-in-ios/ 双十一大家"买买买"了吗?我猜你们要么是躺在沙发上,要么是躲在被 ...

  6. ios 模拟器中应用程序的存储路径

    模拟器下应用程序的位置 ~/资源库/Application Support/iPhone Simulator/<IOS SDK 版本> ~是当前用户跟目录 如:/Users/admin/L ...

  7. cocoscreator2.4.3构建发布多平台包并在IOS模拟器中运行游戏

    1.打开游戏 vip_kingdown_rush_2 ,点击构建发布,打开Editor Window,选择发布平台与发布路径,如Mac平台,发布路径为工程目录下build文件夹,然后点击构建,可生成M ...

  8. iOS模拟器中修改textField键盘类型为中文输入和键盘弹出方法

    一开始傻乎乎的一直以为和Xcode 里面对于 textField 的属性设置中的 Keyboard Type 有关..后来才想到模拟器就是个 iPhone 手机啊..看到自己模拟器中显示运营商的部分写 ...

  9. 解决 Flutter 在 iOS 模拟器中运行卡住问题

    当我们尝试在 iOS 模拟器运行 flutter run 可能会出现类似如下的卡住问题. executing: xcrun simctl launch xxx-54F9-427F-8119-xxxx ...

最新文章

  1. 解决 maven 项目中加入了 lombok 库后依然报错的问题
  2. 牙齿间隙变大怎么办_牙齿矫正会让牙缝变大吗?
  3. RoIPooling
  4. Hibernate 性能优化之二级缓存
  5. 如何安全的存储用户密码?(中)代码篇
  6. Boost:双图bimap分配的测试程序
  7. ActiveServices
  8. 使用Java实现K-Means聚类算法
  9. java统计系统线程数_Java并发(八)计算线程池最佳线程数
  10. vue warning如何去掉_详解 vue 组件三大核心概念
  11. 安装svn显示目标计算机积极拒绝_【SVN】Error running context: 由于目标计算机积极拒绝,无法连接...
  12. 运行报错java.lang.Exception: No runnable methods
  13. hdu 3093 动态规划
  14. C++ 解引用操作符重载
  15. sql server需要存储1000万条数据该怎么办?
  16. matlab基于瑞利信道,一种基于MATLAB的瑞利信道仿真方法研究
  17. 机房运维服务器,机房服务器维护指导
  18. Java 防止 SQL 注入工具类
  19. 逃跑吧少年维护服务器,逃跑吧少年11月19日PC端更新公告
  20. c语言ntc程序,NTC热敏电阻温度计算以及C语言实现

热门文章

  1. Encore une Fois
  2. 行政组织学【0856】
  3. SpringBoor入门
  4. Error: PostCSS received undefined instead of CSS string
  5. (十)练习:Snagit安装
  6. SnapdragonVR☀️ 一、SnapdragonVR SDK介绍
  7. Java操作Excel表格入门实例
  8. 鸟哥 Linux 私房菜学习心得(一)
  9. 【浅谈】前端禁止浏览器记住密码
  10. 集成学习-xgboost学习