AVURLAsset的URL不正确

时间:2015-03-05 14:34:57

标签: ios objective-c

我正在准备AVURLAsset的一种方法的网址:

+ (AVURLAsset *)URLAssetWithURL:(NSURL *)URL options:(NSDictionary *)options

我的网址属于一个写入我的应用文档路径的文件。 NSLog路径的结果是:

  

/var/mobile/Containers/Data/Application/E0E64E72-9A47-4E62-B9C6-818AB8BF3F4C/Documents/audio.wav

获得NSString *path后,我尝试按[NSURL URLWithString:path][NSURL fileURLWithPath:path]将NSString转换为NSURL,但URLAssetWithURL都不正确。

URLWithString的错误是:

  

错误域= AVFoundationErrorDomain代码= -11800“操作可以   未完成“UserInfo = 0x170269f80 {NSUnderlyingError = 0x17405f440   “操作无法完成。(OSStatus error -12780。)”,   NSLocalizedFailureReason =发生未知错误(-12780),   NSLocalizedDescription =无法完成操作}

fileURLWithPath崩溃了该应用。

我知道url = [[NSBundle mainBundle] URLForResource:fileURL withExtension:@"wav"]符合这种情况。但我想得到一个本地文件的URL也适合URLAssetWithURL。任何的想法?感谢。

1 个答案:

答案 0 :(得分:0)

这种从文档中获取文件的方式应该有效:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *path = [[paths.firstObject stringByAppendingPathComponent:@"file"] stringByAppendingPathExtension:@"wav"];
if ([[NSFileManager defaultManager] fileExistsAtPath:path]) {
    NSURL *url = [NSURL fileURLWithPath:path];
}