4

私は自分のアプリに取り組んでいます。サーバーごとにiPhoneでビデオを再生する必要があります。ビデオリンクhttp://www.cwtmedia.se/cwtvideo.mp4があります。MPMoviePlayerControllerでこれを実行する方法を誰かが教えてくれますか?私はそのためにこのコードを使用していますが、機能していません。

enter code here


NSURL *url = [NSURL fileURLWithPath:@"http://www.cwtmedia.se/cwtvideo.mp4"];
moviePlayer1 = [[MPMoviePlayerController alloc] initWithContentURL:url];
[self.view addSubview:moviePlayer1.view];
moviePlayer1.view.frame = CGRectMake(0, 0, 320, 416); 
moviePlayer1.fullscreen=YES;
[moviePlayer1 setFullscreen:NO animated:YES];
moviePlayer1.controlStyle = MPMovieControlStyleFullscreen;

[moviePlayer1 play];
4

2 に答える 2

3

ちなみに、ストリーミングにmpmovieplayercontrollerを使用する方法は次のとおりです。

NSURL *url = [NSURL URLWithString:videoUrl];
moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:url];
[moviePlayer setControlStyle:MPMovieControlStyleDefault];
moviePlayer.scalingMode = MPMovieScalingModeAspectFit;
CGRect frame;
if(self.interfaceOrientation ==UIInterfaceOrientationPortrait)
    frame = CGRectMake(20, 69, 280, 170);
else if(self.interfaceOrientation ==UIInterfaceOrientationLandscapeLeft || self.interfaceOrientation ==UIInterfaceOrientationLandscapeRight)
    frame = CGRectMake(20, 61, 210, 170);
[moviePlayer.view setFrame:frame];  // player's frame must match parent's
[self.view addSubview: moviePlayer.view];
[self.view bringSubviewToFront:moviePlayer.view];

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

[moviePlayer prepareToPlay];
[moviePlayer play];

次に、デリゲートメソッドを示します。

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

       if ([player respondsToSelector:@selector(setFullscreen:animated:)]){
          //self.navigationController.navigationBarHidden = YES;
          [player.view removeFromSuperview];
       }
}

これがお役に立てば幸いです。

于 2012-07-16T06:52:35.993 に答える
2

私の知る限り、2つの選択肢があります。

1)最初にファイルをダウンロードし、ローカルで再生します。このような:

   NSString *url = [[NSBundle mainBundle] pathForResource:@"cwtvideo" ofType:@"mp4"];
   MPMoviePlayerController *player = [[MPMoviePlayerController alloc] initWithContentURL:[NSURL fileURLWithPath:url]];

2)HTTPストリーミングプロトコルを使用します。私の知る限り、MPMoviePlayerControllerで知られているストリーミングプロトコルはHTTPストリーミングだけです。

お役に立てれば。

乾杯!

于 2012-07-16T07:30:16.893 に答える