Это странно, но в основном я загружаю и сохраняю видео локально, а хранилище - путь к URL-адресу для предоставления AVPlayer
для воспроизведения.Локальные сохраненные видео снова не воспроизводятся после закрытия приложения
Это прекрасно работает в первый раз, когда я это делаю. Я загружаю файл, а затем я могу воспроизвести его в своем сердце столько раз, пока я не выйду из приложения. Когда я запускаю приложение во второй раз, теперь я получаю черный экран, когда я пытаюсь воспроизвести то же точное видео, используя тот же самый точный путь.
Поскольку я использую Симулятор, я могу проверить, что видео и картинки действительно очень много еще существуют в той же папке, в которую я их сохранил, и я все еще могу воспроизвести их, если я нажму на них из Finder.
Возможно, это проблема с кешированием? Если это имеет значение, я сохранил их прямо в каталоге Library
, когда я тестирую это.
Соответствующий код:
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];
// save the video to the URL
Тогда я «упорствовать» его с помощью NSString [fileURL path]
(путь я построил это, предположим, что решение требует NSString
для NSURL
преобразования).
Позже я создать AVPlayerItem
:
NSURL *url = [NSURL fileURLWithPath:persistedObject.contentURL];
NSLog(@"url: %@", url); // prints a valid location**
AVPlayerItem *item = [AVPlayerItem playerItemWithURL:url];
**, например, это является местом Пример URL
url: file:///Users/gabriel/Library/Developer/CoreSimulator/Devices/CE1FC933-808C-4003-9BE4-DEC59B787FF7/data/Containers/Data/Application/FAD072B4-B5B0-4487-8A76-57B047324A00/Library/picture_D8DEAFA5-0843-4AA3-BB32-C61E32D13579.mp4
Это было предложено я использую URLForDirectory:inDomain:appropriateForURL:create:error:
и URLByAppendingPathComponent:
вместо этого, который я буду смотреть. Но все еще запутался, почему он будет играть, когда я его сначала загружу, но не после того, как приложение выйдет, когда это тот же самый точный файл.
Обновите свой вопрос соответствующим кодом. Обязательно укажите соответствующий код для получения URL-адреса видео. – rmaddy
сделано, дайте мне знать, если это мне не хватает ничего полезного – gadu