0

MPMoviePlayerControllerを使用してWebから映画を再生しています。選択したテーブル行に応じて、別のムービーがロードされます。ただし、新しい行が選択されたら、 MPMoviePlayerControllerを非表示(または非表示)にしたいと思います。

これが私の映画を再生し、最終的にそれを隠すために呼び出されるコードです

- (IBAction) playMovie{
NSURL *url = [NSURL URLWithString:vidMovie];
moviePlayer = [[MPMoviePlayerController alloc]initWithContentURL:url];  
moviePlayer.view.frame = vidPlayer.frame;// CGRectMake(64, 624, 640, 360);
[self.view addSubview:moviePlayer.view];
[moviePlayer play];
}

- (void) hidePlayer{
[moviePlayer stop];
[moviePlayer release];
}

私の.hiでmoviePlayerをそのように宣言します

MPMoviePlayerController *moviePlayer;

moviePlayerのフレームの高さと幅を0に設定しようとしましたが、それでも再生ボタンが表示されます。
変数.hidden.opaqueを試しましたが、それでも何も得られません

誰かが私が忘れていたかもしれないものを理解するのを手伝ってもらえますか?どんな助けでも大歓迎です! ありがとう

4

1 に答える 1

5

いろいろ試してみて見つけました...

コードの別の部分でmoviePlyerを削除できるようにするには、moviePlyerを保持する必要があるようです。誰かが同じ問題を抱えているなら、これが私の解決策です!

- (IBAction) playMovie{
NSURL *url = [NSURL URLWithString:vidMovie];
moviePlayer = [[[MPMoviePlayerController alloc]initWithContentURL:url] retain]; 
moviePlayer.view.frame = vidPlayer.frame;// CGRectMake(64, 624, 640, 360);
[self.view addSubview:moviePlayer.view];
[moviePlayer play];
}

- (void) hidePlayer{
[moviePlayer stop];
[moviePlayer.view removeFromSuperview];
}

これが他の人を助けることができるかもしれないことを願っています!

于 2010-06-10T14:43:33.400 に答える