2015-11-10 5 views
0

В принципе, я пишу видео файл в каталог Application Support, а затем сохранить его пути:Проблемы с локальными файлами с AVPlayer?

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 от этого я не могу заставить его играть.

EDIT:

Ok, так что кажется, этот вопрос является пространством в Application Support. Я попытался сохранить файл только в каталоге Library, и он отлично работал.

Итак, вопрос становится, как я могу воспроизвести видео, которое я сохраняю в каталоге Application Support. Я не смог создать допустимый NSURL, не избегая пробела (когда я попробовал, он вернет нуль NSURL), но кажется, что пространство/экранирование не позволяет ему играть правильно.

Предположим, что требуется преобразование NSURL в NSString (если не требуется действительно).

Кроме того, обратите внимание, но если кто-нибудь может дать некоторое представление о том, почему этот вопрос был проголосован, я могу улучшить качество моих вопросов, которые будут оценены. Я не понимаю?

ответ

1

Пока я не достаточно информирован, чтобы опин о том, будет ли это изменится, если я использовал рекомендуемые методы Мэтты: URLForDirectory:inDomain:appropriateForURL:create:error: и URLByAppendingPathComponent: фактический вопрос здесь не преобразование NSURL в NSString

Это, что я экономлю полный URL ([fileURL path]). Это связано с тем, что [NSSearchPathForDirectoriesInDomains(NSApplicationSupportDirectory, NSUserDomainMask, YES) objectAtIndex:0]; динамически изменяется, и полный путь не всегда указывает мне на соответствующий файл.

Вместо этого мне нужно сохранить только имя моего файла (в моем случае мне нужно было сохранить outputFile), а затем динамически построить полный путь, когда он мне понадобится.

точно такой же процесс:

NSString *outputDirectory = [NSSearchPathForDirectoriesInDomains(NSApplicationSupportDirectory, NSUserDomainMask, YES) objectAtIndex:0]; 
NSString *tempPath = [outputDirectory stringByAppendingPathComponent:outputFile]; 
NSURL *fileURL = [NSURL fileURLWithPath:tempPath]; 

работал нормально.

TLDR: Сохранение полного пути не работает