Swift-如何使用UIImagePickerController以MP4格式录制视频?

Swift-如何使用UIImagePickerController以MP4格式录制视频?,第1张

Swift-如何使用UIImagePickerController以MP4格式录制视频

您可以使用以下代码将录制的视频转换为MP4:

func enpreVideo(videoURL: NSURL)  {let avAsset = AVURLAsset(URL: videoURL, options: nil)var startDate = NSDate()//Create Export sessionexportSession = AVAssetExportSession(asset: avAsset, presetName: AVAssetExportPresetPassthrough)// exportSession = AVAssetExportSession(asset: composition, presetName: mp4Quality)//Creating temp path to save the converted videolet documentsDirectory = NSSearchPathForDirectoriesInDomains(.documentDirectory, .UserDomainMask, true)[0]let mydocumentPath = NSURL(fileURLWithPath: documentsDirectory).URLByAppendingPathComponent("temp.mp4").absoluteStringlet url = NSURL(fileURLWithPath: mydocumentPath)let documentsDirectory2 = NSFileManager.defaultManager().URLsForDirectory(.documentDirectory, inDomains: .UserDomainMask)[0] as NSURLlet filePath = documentsDirectory2.URLByAppendingPathComponent("rendered-Video.mp4")deleteFile(filePath)//Check if the file already exists then remove the previous fileif NSFileManager.defaultManager().fileExistsAtPath(mydocumentPath) {    do {        try NSFileManager.defaultManager().removeItemAtPath(mydocumentPath)    }    catch let error {        print(error)    }} urlexportSession!.outputURL = filePathexportSession!.outputFileType = AVFileTypeMPEG4exportSession!.shouldOptimizeForNetworkUse = truevar start = CMTimeMakeWithSeconds(0.0, 0)var range = CMTimeRangeMake(start, avAsset.duration)exportSession.timeRange = rangeexportSession!.exportAsynchronouslyWithCompletionHandler({() -> Void in    switch self.exportSession!.status {    case .Failed:        print("%@",self.exportSession?.error)    case .Cancelled:        print("Export canceled")    case .Completed:        //Video conversion finished        var endDate = NSDate()        var time = endDate.timeIntervalSinceDate(startDate)        print(time)        print("Successful!")        print(self.exportSession.outputURL)    default:        break    }})}func deleteFile(filePath:NSURL) {guard NSFileManager.defaultManager().fileExistsAtPath(filePath.path!) else {    return}do {    try NSFileManager.defaultManager().removeItemAtPath(filePath.path!)}catch{    fatalError("Unable to delete file: (error) : (__FUNCTION__).")}}


欢迎分享,转载请注明来源:内存溢出

原文地址:https://outofmemory.cn/zaji/5642160.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-16
下一篇2022-12-16

随机推荐

  • 售馨和售罄的区别是什么?

    售罄指一定比例的销售量卖光了,售馨是指花卖光了,留下了花香。但是现代汉语词典和辞海都没有收录售馨这个词,所以我们一般认为它的正确写法应该为售罄。售馨售是售卖的意思,馨是花香的意思。其语源在卖花者。卖完了花,留下花香。所以叫售馨。意为卖光了

    2023-02-02
    100
  • 三丝是哪三样?

    三丝是以海带,青椒,红椒为原料的一道美味佳肴。凉拌三丝是一道传统的汉族名菜。红绿白三色。鲜咸酸三味。软、脆、滑多种口感,清香爽口不腻。凉拌三丝的做法有很多,所以很多地方对于三丝的用量都不一样,有用海带丝、青椒丝、红椒丝制成的;也有用土豆

    2023-02-02
    000
  • 四字成语什么样的桌子

    1. 桌子的桌四字成语 没有!应该没有那样的成语·······即桌子。古代桌亦写做“卓”。也有作“槕”的,但今都谓“桌”。桌子的早期形象可见唐代敦煌壁画85窟屠房中的方桌,仅方形木板下置四根方形柱腿。我国桌子究竟始于何时,至今说

  • 最值钱的古铜币排名

    最值钱的古铜币排名:下阳十七、祺祥重宝、辽代年号钱、半两大钱、镇库铜钱、大清壹百、武阳一两、咸丰元宝、天眷通宝、咸丰通宝。古钱币是一种年代最久、历史最长、数量最多的钱币,也是深受古玩收藏爱好者青睐的一种藏品。一枚小小的古币,能够反映其时社

    2023-02-02
    100
  • 黄油软化方法有哪些 黄油软化的方法介绍

    1、微波炉软化将黄油放入微波炉加热几十秒即可。具体时间则根据黄油的多少,以及黄油本身的温度有关。如果不确定加热多长时间,可以几秒几秒地加热,随时观察黄油的软化程度。2、隔水软化黄油置于干净无水的器皿中,将黄油隔水加热至完全融化,

    2023-02-02
    100
  • YAZ在建筑中表示什么

    一,名词解释:YAZ在建筑中表示剪力墙边缘约束暗柱,一般在剪力的端部或者转角处出现;二,知识扩展:建筑设计图纸中的一些符号: 在建筑设计图中,L表示是梁、LL表示是连续梁、QL表示圈梁、JL表示基础梁、TL表示是梯梁、DL表示是地梁,Z

    2023-02-02
    100
  • 金鱼能不能吃?

    不能。理论上金鱼是经过鲫鱼多次杂交后而成,本质还是鲫鱼,因此是可以吃的。但由于金鱼可能有些毒性,再加上属于基因变异种的关系,对于成分不如一般的鱼类那般,体积也会比普通鱼类小,吃起来没有什么肉。从各个方面来说金鱼都不适合吃。因此尽量不要去吃

    2023-02-02
    100
  • 赞叹的意思是?

    赞叹的意思为:称赞,演员高超的演技,令人~。读音: [ zàn tàn ]出处:梅阡 《春夜》:“ 周总理连连赞叹地说:‘太好了,太好了!’”一、赞拼音: zàn  释义:1.帮助:~助。2.称赞;夸奖:~不绝口。3.旧时称颂

    2023-02-02
    100
  • 绺的拼音

    绺的拼音读:liǔ。“绺”释义:量词,指一束理顺了的丝,线、须、发等:一绺青丝。衣服因下垂而起直皱:打绺儿。丝缕的组合物。组词:翦绺、一绺、小绺、剪绺、绺裂、绺窃、几绺、发绺、绺鬏、绺子、无绺不遮花、三绺梳头,两截穿衣。一绺的读音是[yī

    2023-02-02
    100

发表评论

登录后才能评论

评论列表(0条)

    保存