Swift 快速捕获不同路径的视频
我正试图用swift捕捉一段视频。我想每x秒将视频捕获到一个新文件中 这是我目前的代码:Swift 快速捕获不同路径的视频,swift,swift3,avfoundation,avcapturesession,Swift,Swift3,Avfoundation,Avcapturesession,我正试图用swift捕捉一段视频。我想每x秒将视频捕获到一个新文件中 这是我目前的代码: var i = 0 override func viewDidLoad() { super.viewDidLoad() if setupSession() { setupPreview() startSession() } } func setupSession() -> Bool { ... return true
var i = 0
override func viewDidLoad() {
super.viewDidLoad()
if setupSession() {
setupPreview()
startSession()
}
}
func setupSession() -> Bool {
...
return true
}
func startSession() {
...
}
func tempURL() -> URL? {
let directory = NSTemporaryDirectory() as NSString
if directory != "" {
i = i+1
old_cur_videoID = cur_videoID_system
cur_videoID_system = "\(cur_videoID)_\(i).mp4"
let path = directory.appendingPathComponent(cur_videoID_system)
return URL(fileURLWithPath: path)
}
return nil
}
func startRecording() {
let delayTime = DispatchTime.now() + 2
DispatchQueue.main.asyncAfter(deadline: delayTime) {
self.startRecording()
}
outputURL = tempURL()
movieOutput.startRecording(toOutputFileURL: outputURL, recordingDelegate: self)
}
以及两个委托功能:
func capture(_ captureOutput: AVCaptureFileOutput!, didStartRecordingToOutputFileAt fileURL: URL!, fromConnections connections: [Any]!) {
}
func capture(_ captureOutput: AVCaptureFileOutput!, didFinishRecordingToOutputFileAt outputFileURL: URL!, fromConnections connections: [Any]!, error: Error!) {
if (error != nil) {
print("Error recording movie: \(error!.localizedDescription)")
} else {
if(i > 1){
saveOnServer()
}
}
outputURL = nil
}
如果我尝试运行代码,会收到以下错误消息:
Error recording movie: Movie recording cannot be started
有人能帮我解决我的问题吗?如果需要更多代码或某些部分不清楚,请随时询问
非常感谢 请简化您的代码,只包含相关部分。对此表示抱歉。我希望现在看起来更好。代码是否成功创建了任何文件?您的文件名不是以多个“.mp4”后缀结尾吗?我看不到您在任何地方停止录制?没有创建文件。。。