如何在ipad应用程序中录制视频剪辑并将其存储在文档文件夹中

2023-12-15

我有一个训练应用程序,我希望当用户单击 recordVideo 按钮时,相机应该启动来录制视频,有什么方法可以在 ipad 应用程序中执行此操作。我已经完成了音频录制,我需要进行视频录制。


//for video..
#import <MobileCoreServices/MobileCoreServices.h>
#import <AVFoundation/AVFoundation.h>
#import <MediaPlayer/Mediaplayer.h>

#import <CoreMedia/CoreMedia.h>



UIImagePickerController *picker = [[UIImagePickerController alloc] init];
    picker.delegate = self;

    if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera])
    {
        NSArray *mediaTypes = [NSArray arrayWithObject:(NSString*)kUTTypeMovie];
        picker.mediaTypes = mediaTypes ;
        picker.sourceType = UIImagePickerControllerSourceTypeCamera;
        picker.cameraCaptureMode = UIImagePickerControllerCameraCaptureModeVideo ;

        [self presentModalViewController:picker animated:NO];

        [picker release];
    }
    else
    {
        UIAlertView *alt=[[UIAlertView alloc]initWithTitle:@"Error" message:@" Camera Facility is not available with this Device" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
        [alt show];
        [alt release];
    }

用于保存到文档文件夹中,也保存在照片库中

NSArray* paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString* documentsDirectory = [paths objectAtIndex:0];


        //for video
        NSURL *videoURL = [info objectForKey:UIImagePickerControllerMediaURL];
        NSLog(@"video url-%@",videoURL);

        NSData *videoData = [NSData dataWithContentsOfURL:videoURL];

        NSString * videoName = [NSString stringWithFormat:@"student_%d_%d.mp4",stud_id,imgVidID];

        videoPath = [documentsDirectory stringByAppendingPathComponent:videoName];

        NSLog(@"video path-%@",videoPath);

        [videoData writeToFile:videoPath atomically:YES];

        NSString *sourcePath = [[info objectForKey:@"UIImagePickerControllerMediaURL"]relativePath];

        UISaveVideoAtPathToSavedPhotosAlbum(sourcePath,nil,nil,nil);

}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在ipad应用程序中录制视频剪辑并将其存储在文档文件夹中 的相关文章

随机推荐

  • 在 JavaScript 中将连字符的名称大写

    我需要在 javascript 中将名称大写 到目前为止我已经找到了这些方法 doesn t capitalize first letter after hyphen gt gives Bj rn martin str replace w
  • 获取大量应用程序图标会导致内存不足

    我创建了一个应用程序来加载所有已安装的应用程序 现在运行良好 但对于一些拥有大量应用程序的手机 平板电脑 我的应用程序会因内存不足而崩溃 以下是获取应用程序信息的源代码 String appName p applicationInfo lo
  • 如何根据cq5中的路径创建目录?

    我有一个字符串 例如页面的路径 content xperia public events eventeditor 我正在生成此页面的 XML 并将其保存到 DAM 但我想将其保存在类似的树结构中 content 我尝试了以下代码 Strin
  • 从集合中随机返回项目

    我有一个从数据库返回通用列表集合 List 的方法 该集合包含订单详细信息 即订单 ID 订单名称 产品详细信息等 此外 该方法返回一个集合 其中仅包含按订单日期降序排序的前 5 个订单 我的要求是 每次客户端调用此方法时 我需要返回有 5
  • 我的变量值与传输时prepareForSegue 取的值不同?

    本质上 我的变量 playerErrors 是通过按下按钮来更新的 然后视图控制器通过数据传输转移到下一个 然而 变量的值 例如 应该从 0 增加 1 传输为 0 就好像按钮没有被按下一样 我的代码中有 16 个变量 我试图传输这些变量 但
  • 模拟框架中的模拟与间谍活动

    在模拟框架中 您可以mock一个物体或spy在上面 两者之间有什么区别 我什么时候会 应该使用其中一种 看着Mockito 例如 我看到类似的事情正在使用spies and mocks 但我不确定两者之间的区别 模拟对象完全替换模拟类 返回
  • 如何在 Ruby 中解析邮箱文件?

    红宝石rmail有方法解析本地磁盘上的邮箱文件 不幸的是这个 gem 已经损坏了 在 Ruby 2 0 0 中 它可能无法修复 因为人们正在迁移到 gemmail Gem mail有方法Mail read filename txt 但这仅解
  • 如何使用正则表达式匹配任意重复字符?

    我需要匹配任何重复两次的字符 例如 abccdeff 应匹配 cc 和 ff 在任何其他正则表达式语法中 让我们使用 Javascript 作为一个快速示例 我可以这样做 var str abccdeff var r a z 1 1 g c
  • 防止 jQuery 缓存破坏在使用“html(...)”函数的 AJAX 回调期间加载的资源

    使用 jQuery 1 7 1 我通过 AJAX 加载一些 HTML 片段 这些片段通过html 方法 HTML内容本身无法被缓存 但它可能会加载一些可以缓存的JavaScript资源 我发现当我禁用缓存时 ajax当 HTML 被注入到
  • 在div的角上画三角形

    我想在 div 的角上画某种三角形 因为我不想使用 px 所以我想用百分比值也获得相同的结果 它应该是这样的 container position absolute top 5 left 5 width 60 height 30 backg
  • 具有多个回调的 Javascript 全局计时器

    我想在 JavaScript 中创建一个全局计时器对象 然后能够动态添加回调 这样我就可以在脚本中使用一个全局计时器以一定的时间间隔执行所有操作 而不是使用多个全局计时器来浪费资源 这就是我希望能够将事情拼凑在一起的方式 var timer
  • 为什么调用 printf 时 EDX 的值会被覆盖?

    我写了一个简单的汇编程序 section data str out db d 10 0 section text extern printf extern exit global main main MOV EDX ESP MOV EAX
  • Websocket - InvalidStateError:连接尚未建立

    我无法将 Angular2 前端与 Spring 的 websocket 后端连接起来 Spring配置xml文件
  • 在python中保存文件时添加BOM(unicode签名)

    如何在 python 中保存文件时添加 BOM unicode 签名 file old open old txt mode r encoding utf 8 file new open new txt mode w encoding utf
  • 防止 RTL TListView 镜像复选框和/或图形

    我试图使 ListView 的列从右到左显示 这已经是问并回答 但问题在于图标和复选框 当我使用 ListView RTL 时SetWindowLong 它也镜像图形和复选框 这是不需要的 我可以使用编辑工具镜像图形 虽然麻烦但可行 但我不
  • 如何用C#实现P2P?

    最近 我想使用c 和Winform开发一个简单的聊天程序 主要功能是聊天和文件传输 但是我找不到使用dotnet实现p2p的示例 谁可以帮助我 查看WCF
  • 在 R 中,找到每行包含字符串的列

    我一定是用了错误的搜索词来思考 因为我不敢相信我的问题是独一无二的 但我只找到了一个类似的问题 我有一些来自世界银行的相当笨重的数据 它们是代表数据库的平面文件 数据每行一个项目 但每个项目都有多个特征 这些特征方便地位于名称为 SECTO
  • 如何在 JNI 中将 C 结构体来回传递给 Java 代码?

    我有一些通过 JNI 调用的 C 函数 它们采用指向结构的指针 还有一些其他函数将分配 释放指向相同类型结构的指针 以便处理我的包装器更容易一些 令人惊讶的是 JNI 文档很少提及如何处理 C 结构 我的 C 头文件如下所示 typedef
  • Rails 4:before_filter 与 before_action

    在 Rails gt 4 0 0 中 生成器创建 CRUD 操作before action not before filter 它似乎做了同样的事情 那么这两者有什么区别呢 尽我们所能see in ActionController Base
  • 如何在ipad应用程序中录制视频剪辑并将其存储在文档文件夹中

    我有一个训练应用程序 我希望当用户单击 recordVideo 按钮时 相机应该启动来录制视频 有什么方法可以在 ipad 应用程序中执行此操作 我已经完成了音频录制 我需要进行视频录制 for video import