Pytanie w sprawie mpmovieplayercontroller, streaming, objective-c, ios – Jak odtwarzać wideo za pomocą MPMoviePlayerController

1

Używam tego kodu do odtwarzania strumienia wideo z witryny Apple

<code>- (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];
    }

}
</code>

Po wywołaniu playMoviemoviePlayBackDidFinish jest natychmiast wywoływany i komunikat o błędzie jest rejestrowany:

Zakończył się z błędem: Error Domain = MediaPlayerErrorDomain Code = -11800 "Nie można ukończyć operacji" UserInfo = 0x78d25d0 {NSLocalizedDescription = Nie można ukończyć operacji

Jak mogę rozwiązać ten błąd?

Twoja odpowiedź

1   odpowiedź
1

Nie oznaczyłeś tego jako iOS, ale MPMoviePlayer jest tylko iOS. To powinno działać dobrze z filmem, który będzie odtwarzany na iOS. Niestety film, który próbujesz odtworzyć, nie jest kompatybilny z iOS. Wypróbuj ten adres URL:

<code>http://stream.qtv.apple.com/events/mar/123pibhargjknawdconwecown/12oihbqeorvfhbpiubqnfv3_ipad_vod_ref.mov
</code>

Powiązane pytania