【发布时间】:2016-06-12 07:02:47
【问题描述】:
我正在处理一项任务,我必须将录制的视频从用户输入或选择的特定起点修剪到特定终点。
我该怎么做。正如我之前使用的UIVideoEditorController,但我不想使用默认视图,我想直接修剪视频。
let FinalUrlTosave = NSURL(string: "\(newURL)")
exportSession!.outputURL=FinalUrlTosave
exportSession!.shouldOptimizeForNetworkUse = true
// exportSession.outputFileType = AVFileTypeQuickTimeMovie
exportSession!.outputFileType = AVFileTypeQuickTimeMovie;
let start:CMTime
let duration:CMTime
var st = starttime.doubleValue
var ed = endTime.doubleValue
start = CMTimeMakeWithSeconds(st, 600)
duration = CMTimeMakeWithSeconds(ed, 600)
// let timeRangeForCurrentSlice = CMTimeRangeMake(start, duration)
let range = CMTimeRangeMake(start, duration);
exportSession!.timeRange = range
exportSession!.exportAsynchronouslyWithCompletionHandler({
switch exportSession!.status{
case AVAssetExportSessionStatus.Failed:
print("failed \(exportSession!.error)")
case AVAssetExportSessionStatus.Cancelled:
print("cancelled \(exportSession!.error)")
default:
print("complete....complete")
// self.SaveVideoToPhotoLibrary(destinationURL1!)
}
})
我正在尝试使用它来实现我的目标,但没有成功。
错误信息:
失败的可选(错误域=NSURLErrorDomain代码=-1100“ 在此服务器上找不到请求的 URL。” UserInfo={NSErrorFailingURLStringKey=file:///var/mobile/Containers/Data/Application/E68D3BFD-6923-4EA6-9FB3-C020CE4AA9D4/Documents/moment/jGq_9AUFa47s2ZiiPP4x.mp4, NSErrorFailingURLKey=file:///var/mobile/Containers/Data/Application/E68D3BFD-6923-4EA6-9FB3-C020CE4AA9D4/Documents/moment/jGq_9AUFa47s2ZiiPP4x.mp4, NSLocalizedDescription=在此未找到请求的 URL 服务器,NSUnderlyingError=0x1553c220 {错误域=N
第二次出现错误:
失败的可选(错误域=NSURLErrorDomain 代码=-3000“不能 创建文件” UserInfo={NSUnderlyingError=0x14e00000 {错误 域=NSOSStatusErrorDomain 代码=-12124 "(null)"}, NSLocalizedDescription=无法创建文件})
【问题讨论】:
-
它是怎么失败的?什么错误?
-
我将一个 url 传递给 newURL 参数,它总是进入失败的错误块...
-
是的,但是错误信息是什么?
-
嗯,您的问题的根源不是在错误消息中明确说明了吗? :) “在此服务器上找不到请求的 URL。” 文件路径错误。
-
我发现使用
NSURL(string: "...")可能会与某些api 发生意外行为。如果是本地文件,请尝试使用NSURL(fileURLWithPath: "...")。
标签: ios swift trim avassetexportsession uivideoeditorcontroller