2016-09-06 9 views
1

Я пытаюсь прочитать видеофайл, сохраненный как файл данных в папке XCAssets моего проекта. Я использую следующий код для этого -Получение нулевого URL ресурса при попытке чтения файла данных из XCAssets

NSString *videoFilePath = [[NSBundle mainBundle] pathForResource:@"login_video" ofType:@"mp4"]; 
NSURL *fileURL = [NSURL fileURLWithPath:videoFilePath]; 
self.avPlayer = [AVPlayer playerWithURL: fileURL]; 
self.avPlayer.actionAtItemEnd = AVPlayerActionAtItemEndNone; 

Этого код работал для меня довольно долго с целевой SDK набором для прошивки 8. Недавно я изменил к прошивке 9, и это теперь дает мне nil путь и URL-адрес. Ресурс login_video хранится как файл данных в моей папке XCAssets. Что я здесь делаю неправильно?

Спасибо!

ответ

0

Есть два способа, чтобы получить URL

первым, если вы хотите useXCAssets

NSDataAsset *ob = [[NSDataAsset alloc]initWithName:@"a"]; 
    NSData *obdata = ob.data; 
    [obdata writeToFile:@"your path" atomically:YES]; 
NSURL *filepath = [NSURL fileURLWithPath:@"your path"]; 
AVPlayerItem *player = [AVPlayerItem playerItemWithURL:filepath]; 

второго

скопировать видео mainBundle вашего проекта и получить его с

NSString *videoFilePath = [[NSBundle mainBundle] pathForResource:@"login_video" ofType:@"mp4"]; 
NSURL *fileURL = [NSURL fileURLWithPath:videoFilePath]; 

нет в папке XCAssets.

+0

Убедитесь, что активы являются членами вашей цели; по какой-то причине я заметил, что в приложении это не получилось; не знаете, как, но вы должны увидеть фазу «Составить каталог активов» во время сборки. – slashlos