基本上,我将视频文件写入Application Support
目录,然后保存它的路径:
NSString *guid = [[NSUUID new] UUIDString];
NSString *outputFile = [NSString stringWithFormat:@"video_%@.mp4", guid];
NSString *outputDirectory = [NSSearchPathForDirectoriesInDomains(NSApplicationSupportDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString *tempPath = [outputDirectory stringByAppendingPathComponent:outputFile];
NSURL *fileURL = [NSURL fileURLWithPath:tempPath]
// code to write a video to fileURL
我通过调用[fileURL path];
现在稍后当我尝试从中创建AVAssetItem
时,我实际上无法播放它。
编辑:
好的,似乎问题是Application Support
中的空间。我尝试将文件保存到Library
目录,并且工作正常。
问题就变成了,如何播放我保存在Application Support
目录中的视频。我没有能够在没有逃避空间的情况下创建有效的NSURL
(当我尝试它时会返回nil NSURL
)但似乎空间/转义不允许它正确地玩。
假设需要NSURL到NSString转换(除非确实应该避免)。
另外,请注意,但是如果有人能够对这个问题被投票的原因有所了解,那么我可以提高我的问题的质量,这将是值得赞赏的。我不明白?
答案 0 :(得分:1)
虽然如果我使用了亚特的推荐方法,{I} removedMarkerArray.forEach(function(removedMarker, index) {
//test for valid object
if (!removedMarker.hasOwnProperty('title')) continue;
else console.log("You dawg, this stuff passed.");
//the actual code doing real work, rather than testing.
if (removedMarker.PD == PD)
{
removedMarker.setMap(map);
removedMarkerArray.splice(index, 1);
placedMarkerArray.push(removedMarker);
}
});
和URLForDirectory:inDomain:appropriateForURL:create:error:
这里的实际问题并非转换为URLByAppendingPathComponent:
至NSURL
我保存了完整的网址(NSString
)。这是因为[fileURL path]
动态更改,并且完整路径不会始终指向适当的文件。
相反,我需要只保存文件的名称(在我的情况下,我需要保留[NSSearchPathForDirectoriesInDomains(NSApplicationSupportDirectory, NSUserDomainMask, YES) objectAtIndex:0];
),然后在需要时动态构建完整路径。
同样的过程:
outputFile
工作得很好。
TLDR:保存完整路径