1

だから私はこのような映画を再生しようとしています:

- (void)viewDidLoad {
    [super viewDidLoad];

    vidLocation=[[NSURL alloc] initWithString:@"http://cdn.webwaterfalls.com/uni/introNew2.mp4"];

    UIView * vidView=[[UIView alloc] initWithFrame:CGRectMake(10, 10, 300, 300)];

    [self.view addSubview:vidView];

    MPMoviePlayerController * vid=[[MPMoviePlayerController alloc] initWithContentURL:vidLocation];

    if(vid){

        [vid setContentURL:vidLocation];

        [vid setMovieSourceType:MPMovieSourceTypeStreaming];

        [vid.view setFrame: vidView.bounds];

        [vidView addSubview:vid.view];

        [vid play];

    }
}

ムービーの再生が開始され、すべての一時停止、シーク、ボリューム、フル スクリーン コントロールが表示されます。

しかし、3 秒後にはムービーがカットアウトされ、何も表示されません。映画はありません。コントロールなし。

私はさまざまな映画を試しました(すべてiPadでうまく再生されます)が、3秒後にすべて再生をあきらめました。

誰かが私が間違っていることを説明できますか?

4

1 に答える 1

1

次のようなことを試してください:

- (void)viewDidAppear:(BOOL)animated {
   [super viewDidAppear:animated];

   //Use Apple's sample stream
   NSURL *mediaURL = [NSURL URLWithString:@"http://cdn.webwaterfalls.com/uni/introNew2.mp4"];
   self.moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:mediaURL];

   //Begin observing the moviePlayer's load state.
   [[NSNotificationCenter defaultCenter] addObserver:self
                                         selector:@selector(moviePlayerLoadStateChanged:)
                                             name:MPMoviePlayerLoadStateDidChangeNotification
                                           object:self.moviePlayer];

   [self.moviePlayer setShouldAutoplay:NO];//Stop it from autoplaying
   [self.moviePlayer prepareToPlay];//Start preparing the video
}

- (void)moviePlayerLoadStateChanged:(NSNotification *)notification{
    NSLog(@"State changed to: %d\n", self.moviePlayer.loadState);
    if(self.moviePlayer.loadState == MPMovieLoadStatePlayable){
       //if load state is ready to play
      [self.view addSubview:[self.moviePlayer view]];
      [self.moviePlayer setFullscreen:YES];
      [self.moviePlayer play];//play the video
    }

}
于 2013-05-14T15:31:18.373 に答える