MPMoviePlayerController и объект NSURL - PullRequest
0 голосов
/ 16 марта 2012

Объект NSURL, возвращаемый pathForResource, является нулевым для пользовательских импортированных файлов фильмов.

 -(NSURL *)localMovieURL
{
    NSURL *theMovieURL = nil;
    NSBundle *bundle = [NSBundle mainBundle];
    if (bundle) 
    {
          NSString *moviePath = [bundle pathForResource:@"Movie"      ofType:@"m4v"];
        //NSString *moviePath = [bundle pathForResource:@"Movie_01"   ofType:@"m4v"]; 
        //NSString *moviePath = [bundle pathForResource:@"Sample"     ofType:@"m4v"];
    if (moviePath)
    {   
        theMovieURL = [NSURL fileURLWithPath:moviePath];
        }

    NSLog(@" MMM moviePath   = %@", moviePath);
    NSLog(@" UUU theMovieURL = %@", theMovieURL);

}

return theMovieURL;

}

Рассмотрим приведенный выше пример кода от Apple (Пример проекта - MoviePlayer)

https://developer.apple.com/library/ios/navigation/index.html?section=Resource+Types&topic=Sample+Code

Movie.m4v поставляется с примером, а скомпилированный пример проекта воспроизводит m4v без проблем. Но когда я делаю копию Movie.m4v, называю ее Movie_01.m4v и перетаскиваю файл в проект, MPMoviePlayerController не отвечает. Также добавлен вывод NSLog (начинается с MMM, а UUU становится "... = (null)". То же самое относится к сэмплу m4v "Sample.m4v", который я делаю сам с помощью iMovie.

Этот вопрос связан с вопросом, который я разместил ранее (здесь) . Мой предыдущий вопрос касается проекта, который я написал сам, и у него та же проблема: метод «pathForResource» возвращает «nil», даже если файлы фильмов кажутся правильно импортированными. Все примеры фильмов могут прекрасно воспроизводиться внутри XCode, и я импортировал (перетащил) файлы фотографий PNG в проект таким же образом. Но фотографии png могут отображаться скомпилированной программой как на телефоне, так и на симуляторе, как и ожидалось.

Надеюсь, кто-нибудь может дать несколько подсказок.

1 Ответ

2 голосов
/ 16 марта 2012

Кажется, вы продублировали свой вопрос.Похоже, оба ответа: добавьте фильм в комплект приложения (шаги по сборке проекта> Копировать ресурсы)

...