我正在编写一个视频应用程序,仅在触发时录制视频,并且在所有录制结束时将录制内容合并到一起。
我只是想知道swift中是否有进程来确保录制文件的下一个文件的名称与前一个文件的名称不同?我知道这样做的方法很好,但我有点记忆怪异,并且想知道swift是否有这个问题的内置答案?
编辑: 这适用于变量filenamechanger。我只是想知道是否有更好的方法。
var filenamechanger = 0
if motiondetected == true {
do{
let documentsDir = try FileManager.default.url(for:.documentDirectory, in:.userDomainMask, appropriateFor:nil, create:true)
filenamechanger += 1 //name changer
let fileURL = URL(string:"test\(filenamechanger).mp4", relativeTo:documentsDir)!
do {
try FileManager.default.removeItem(at:fileURL)
} catch {
}
self.movieOutput = try MovieOutput(URL:fileURL, size:Size(width:480, height:640), liveVideo:true)
self.camera.audioEncodingTarget = self.movieOutput
self.camera --> self.movieOutput!
self.movieOutput!.startRecording()
sleep(3)
self.camera.audioEncodingTarget = nil
self.movieOutput = nil
motiondetected = false
}
catch{
"recording didn't work"
}
}