2012-04-17 66 views
1

我使用这个代码,以播放视频从苹果网站如何播放视频时使用的MPMoviePlayerController

- (IBAction)playMovie:(UIButton *)sender { 
    NSLog(@"start playing"); 
    //NSURL *url = [NSURL URLWithString:@"http://spatie.be/test.mov"]; 
    NSURL *url = [NSURL URLWithString:@"http://stream.qtv.apple.com/events/mar/123pibhargjknawdconwecown/12oihbqeorvfhbpiubqnfv3_650_ref.mov"]; 
    moviePlayer = [[MPMoviePlayerController alloc] 
        initWithContentURL:url]; 


    [[NSNotificationCenter defaultCenter] addObserver:self 
              selector:@selector(moviePlayBackDidFinish:) 
               name:MPMoviePlayerPlaybackDidFinishNotification 
               object:moviePlayer]; 

    moviePlayer.controlStyle = MPMovieControlStyleDefault; 
    moviePlayer.shouldAutoplay = YES; 
    moviePlayer.movieSourceType = MPMovieSourceTypeStreaming; 
    [self.view addSubview:moviePlayer.view]; 
    [moviePlayer setFullscreen:YES animated:YES];  
} 
- (void) moviePlayBackDidFinish:(NSNotification*)notification { 

    NSError *error = [[notification userInfo] objectForKey:@"error"]; 
    if (error) { 
     NSLog(@"Did finish with error: %@", error); 
    }  

    MPMoviePlayerController *player = [notification object]; 
    [[NSNotificationCenter defaultCenter] 
    removeObserver:self 
    name:MPMoviePlayerPlaybackDidFinishNotification 
    object:player]; 

    if ([player 
     respondsToSelector:@selector(setFullscreen:animated:)]) 
    { 
     [player.view removeFromSuperview]; 
    } 

} 

当的playMovie调用流,moviePlayBackDidFinish被称为immediatelty并记录错误消息:

Did finish with error: Error Domain=MediaPlayerErrorDomain Code=-11800 "The operation could not be completed" UserInfo=0x78d25d0 {NSLocalizedDescription=The operation could not be completed}

我该如何解决这个错误?

回答

1

您没有将此标签标记为iOS,但MPMoviePlayer仅适用于iOS。这应该可以在iOS上播放的视频中正常工作。不幸的是,您尝试播放的视频与iOS不兼容。试试这个网址:

http://stream.qtv.apple.com/events/mar/123pibhargjknawdconwecown/12oihbqeorvfhbpiubqnfv3_ipad_vod_ref.mov 
相关问题