Path 如何使用Swift中的文件路径API获取文档目录并创建文件名
我有这个代码来录制视频与AVFoundation,但我不知道如何转换为SwiftPath 如何使用Swift中的文件路径API获取文档目录并创建文件名,path,avfoundation,swift,xcode6,nsdocumentdirectory,Path,Avfoundation,Swift,Xcode6,Nsdocumentdirectory,我有这个代码来录制视频与AVFoundation,但我不知道如何转换为Swift - (void)startRecording { NSDateFormatter* formatter = [[NSDateFormatter alloc] init]; [formatter setDateFormat:@"yyyy-MM-dd-HH-mm-ss"]; NSString* dateTimePrefix = [formatter stringFromDate:[NS
- (void)startRecording
{
NSDateFormatter* formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy-MM-dd-HH-mm-ss"];
NSString* dateTimePrefix = [formatter stringFromDate:[NSDate date]];
int fileNamePostfix = 0;
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *filePath = nil;
do
filePath =[NSString stringWithFormat:@"/%@/%@-%i.mp4", documentsDirectory, dateTimePrefix, fileNamePostfix++];
while ([[NSFileManager defaultManager] fileExistsAtPath:filePath]);
NSURL *fileURL = [NSURL URLWithString:[@"file://" stringByAppendingString:filePath]];
[self.fileOutput startRecordingToOutputFileURL:fileURL recordingDelegate:self];
}
我不知道如何在Swift中使用此路径
谢谢 以下是获取文档目录的方法
// NSArray *paths = NSSearchPathForDirectoriesInDomains(
// NSDocumentDirectory, NSUserDomainMask, YES);
let paths = NSSearchPathForDirectoriesInDomains(
.DocumentDirectory, .UserDomainMask, true)
// NSString *documentsDirectory = [paths objectAtIndex:0];
let documentsDirectory = paths[0] as String
下面是如何使用后缀选择文件名
var filePath:String? = nil
var fileNamePostfix = 0
do {
// filePath =[NSString stringWithFormat:@"/%@/%@-%i.mp4",
// documentsDirectory, dateTimePrefix, fileNamePostfix++];
filePath =
"\(documentsDirectory)/\(dateTimePrefix)-\(fileNamePostfix++).mp4"
} while (NSFileManager.defaultManager().fileExistsAtPath(filePath))
此代码只是您代码的一个直接端口,除了我在
文档目录
之前删除了/
,因为它已经是一个绝对路径。以下是获取文档目录的方法
// NSArray *paths = NSSearchPathForDirectoriesInDomains(
// NSDocumentDirectory, NSUserDomainMask, YES);
let paths = NSSearchPathForDirectoriesInDomains(
.DocumentDirectory, .UserDomainMask, true)
// NSString *documentsDirectory = [paths objectAtIndex:0];
let documentsDirectory = paths[0] as String
下面是如何使用后缀选择文件名
var filePath:String? = nil
var fileNamePostfix = 0
do {
// filePath =[NSString stringWithFormat:@"/%@/%@-%i.mp4",
// documentsDirectory, dateTimePrefix, fileNamePostfix++];
filePath =
"\(documentsDirectory)/\(dateTimePrefix)-\(fileNamePostfix++).mp4"
} while (NSFileManager.defaultManager().fileExistsAtPath(filePath))
此代码只是您代码的一个直接端口,除了我在
文档目录
之前删除了/
,因为它已经是一个绝对路径。是的,但是您可以获得file://... do filePath=[NSString stringWithFormat:@/%/%-%i.mp4],文档目录,日期时间前缀,文件名后缀++];而([[NSFileManager defaultManager]fileExistsAtPath:filePath]);NSURL*fileURL=[NSURL URLWithString:[@“file://”stringByAppendingString:filePath]];[self.fileOutput startRecordingToOutputFileURL:fileURL-recordingDelegate:self];如何转换此行,保存在路径中?[self.fileOutput startRecordingToOutputFileURL:fileURL-recordingDelegate:self];我不能调用Delegated你的类实现了协议吗?最好用具体的行、你尝试了什么以及你得到的确切错误信息再问一个问题file://... do filePath=[NSString stringWithFormat:@/%/%-%i.mp4],文档目录,日期时间前缀,文件名后缀++];而([[NSFileManager defaultManager]fileExistsAtPath:filePath]);NSURL*fileURL=[NSURL URLWithString:[@“file://”stringByAppendingString:filePath]];[self.fileOutput startRecordingToOutputFileURL:fileURL-recordingDelegate:self];如何转换此行,保存在路径中?[self.fileOutput startRecordingToOutputFileURL:fileURL-recordingDelegate:self];我不能调用Delegated你的类实现了协议吗?最好用具体的行、您尝试了什么以及您得到的确切错误消息来提出另一个问题。