美文网首页
iOS 慢动作视频获取URL兼容-Swift

iOS 慢动作视频获取URL兼容-Swift

作者: 风吹柳絮如花落 | 来源:发表于2022-06-14 17:14 被阅读0次

    获取相册视频数据的URL时,因为获取到的对象不是AVURLAsset,而是AVComposition导致的,因为AVComposition没有URL属性

        func aaa() {
            if let asset = avAsset as? AVComposition,
                asset.tracks.count == 2 {// 慢动作视频
                self?.dealSVideo(asset, currentAsset)
            }
        }
    
        func dealSVideo(_ asset: AVComposition) {
            
            let creater: (URL) -> Void = { dir in
                if !FileManager.default.fileExists(atPath: dir.path) {
                    do {
                        try FileManager.default.createDirectory(at: dir, withIntermediateDirectories: true)
                    } catch {
                       //--
                    }
                }
            }
            // 创建文件夹
            creater(videoDirectory)
            
            let path = videoDirectory.appendingPathComponent("\(fileName).mp4").path
            
            if FileManager.default.fileExists(atPath: path) {
                已导出过-直接使用path
            } else {
                *******HUD show(因为比较耗时)***
                let exporter = AVAssetExportSession(asset: asset,
                                                    presetName: AVAssetExportPresetMediumQuality)
                exporter?.outputURL = URL(fileURLWithPath: path)
                exporter?.outputFileType = .mov
                exporter?.shouldOptimizeForNetworkUse = true
                exporter?.exportAsynchronously {
                    DispatchQueue.main.async {
                        *******HUD dissmiss***
                        if exporter?.status == .completed {
                            已导出成功-直接使用path
                        }
                    }
                }
            }
        }
    

    参考链接:
    https://www.jianshu.com/p/486de4f331db 本文章的swift版本
    https://www.jianshu.com/p/f0b299a2f2d5 此文章兼容方式不可用

    相关文章

      网友评论

          本文标题:iOS 慢动作视频获取URL兼容-Swift

          本文链接:https://www.haomeiwen.com/subject/yuvzmrtx.html