0

正常にロードされ、正常に再生されるムービーがありますが、ページがロードされるとすぐに再生されます。ユーザーが再生を押して視聴する必要がある一時停止状態でロードしたいと思います。

- (void)viewDidLoad
{
[super viewDidLoad];
NSString *moviePath = [[NSBundle mainBundle] pathForResource:@"iobserve1" ofType:@"mov"];
NSURL *movieURL = [NSURL fileURLWithPath:moviePath];
moviePlayerController = [[MPMoviePlayerController alloc] initWithContentURL:movieURL];
moviePlayerController.view.frame = CGRectMake(60, 44, 900, 656);  // player's frame must match parent's
[self.movieView addSubview:moviePlayerController.view];
moviePlayerController.controlStyle = MPMovieControlStyleEmbedded;
[moviePlayerController prepareToPlay];
[moviePlayerController pause];
}

最後の行の一時停止は何もしていないようです。何か助けはありますか?ありがとう

4

2 に答える 2

1

上で書いたコードの宣伝文句をviewwillappearに入れます。次に、次のように最後に再生を追加します。

-(void) viewWillAppear: (BOOL) animated {
  NSString *moviePath = [[NSBundle mainBundle] pathForResource:@"iobserve1" ofType:@"mov"];
  NSURL *movieURL = [NSURL fileURLWithPath:moviePath];
  moviePlayerController = [[MPMoviePlayerController alloc] initWithContentURL:movieURL];
  moviePlayerController.view.frame = CGRectMake(60, 44, 900, 656);  // player's frame must match parent's
  [self.movieView addSubview:moviePlayerController.view];
  moviePlayerController.controlStyle = MPMovieControlStyleEmbedded;
  [moviePlayerController prepareToPlay];
  [moviePlayerController play];
 }

それの終わりに。

viewdidappearで行う

  -(void) viewDidAppear: (BOOL) animated {
    [moviePlayerController pause];
  }

viewDidLoadからコードを削除することを忘れないでください

于 2013-03-14T19:12:59.237 に答える
1

MPMoviePlayerControllerプロパティshouldAutoplayを に設定してみてくださいNO

prepareToPlay呼び出しの前に次の行を追加します。

moviewPlayerController.shouldAutoplay = NO;

参照から:

shouldAutoplay

ムービーの再生を自動的に開始するかどうかを示すブール値。

@property (nonatomic) BOOL shouldAutoplay

討論

このプロパティのデフォルト値は YES です。このプロパティは、中断のない再生を保証するのに十分なバッファー データがある場合に、ネットワーク ベースのコンテンツの再生を自動的に開始するかどうかを決定します。

利用可能 iOS 3.2 以降で利用できます。で宣言

于 2013-03-14T20:05:05.513 に答える