2012-05-31 3 views
0

Я пытаюсь воспроизвести видео на устройстве. Видео это videoОшибка воспроизведения видео

и мой код:

NSString *urlStr = @"http://easyhtml5video.com/images/happyfit2.mp4"; 
NSURL *url = [NSURL fileURLWithPath:urlStr]; 
    moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:url]; 
[self.view addSubview:moviePlayer.view]; 
moviePlayer.view.frame = CGRectMake(0, 0, 320, 400); 
[moviePlayer play]; 

Когда я начать приложение экран фильм видел, но фильм оленья кожа играть. Можете ли вы помочь мне, где ошибка?

ответ

0

Проверьте это видео для справки. Это работает для меня -

- (IBAction)playMovie:(id)sender 
{ 
    NSString *filepath = @"http://easyhtml5video.com/images/happyfit2.mp4"; 
    NSURL *fileURL = [NSURL fileURLWithPath:filepath]; 
    MPMoviePlayerController *moviePlayerController = [[MPMoviePlayerController alloc] initWithContentURL:fileURL]; 

    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(moviePlaybackComplete:) 
                   name:MPMoviePlayerPlaybackDidFinishNotification 
                  object:moviePlayerController]; 

    [self.view addSubview:moviePlayerController.view]; 
    moviePlayerController.fullscreen = YES; 
    [moviePlayerController play]; 
} 

- (void)moviePlaybackComplete:(NSNotification *)notification 
{ 
    MPMoviePlayerController *moviePlayerController = [notification object]; 
    [[NSNotificationCenter defaultCenter] removeObserver:self 
             name:MPMoviePlayerPlaybackDidFinishNotification 
                       object:moviePlayerController]; 

    [moviePlayerController.view removeFromSuperview]; 
    [moviePlayerController release]; 
} 
+0

не играл. экран был замечен в течение секунды, но видео не воспроизводило. Какую структуру вы импортировали? и как ваш .h класс – yatanadam

+0

попробуйте это - http://mobile.tutsplus.com/tutorials/iphone/mediaplayer-framework_mpmovieplayercontroller_ios4/. это также имеет исходный код. Ошибка –

+0

заключается в следующем: экземпляр 0x7a58230 класса AVPlayerItem был освобожден, а наблюдатели с ключевыми значениями все еще были зарегистрированы с ним. Наблюдательная информация просочилась и может даже ошибочно привязана к другому объекту. Установите точку останова на NSKVODeallocateBreak, чтобы остановить здесь в отладчике. Вот текущая информация наблюдения: ( Контекст: 0x0, свойство: 0x78593e0> – yatanadam

1

Try использование NSURL *url = [NSURL URLWithPath:urlStr];

вместо NSURL *url = [NSURL fileURLWithPath:urlStr]; Это веб-адрес не файл URL.

Смежные вопросы