4

これは私を夢中にさせています。

簡単です。MPMoviePlayerViewControllerがあり、映画をフルスクリーンで表示したいと考えています。iOS5.0以降でARCを使用するこのプレーヤーをアプリ全体で再利用できるようにしたいと思います。

映画が初めて再生されるとき、それは画面全体をカバーし、素晴らしい再生をします。オーバーレイコントロールは正しく表示され、タッチにうまく反応します。私はそれを使用して提示します

[theMovie.moviePlayer setContentURL:movieURL];
[theMovie.moviePlayer prepareToPlay];

[self presentViewController:theMovie animated:YES completion:^{
    [theMovie.moviePlayer play];
}];

再生が終了したら、通知を傍受してこれを実行します

[self dismissViewControllerAnimated:YES completion:^{
            [theMovie.moviePlayer stop];
            [theMovie.moviePlayer setContentURL:nil];
}];

さて、問題は、2回目以降、映画が再生されると、コントロールは表示されます、プレーヤーは映画エリアのタッチに応答しなくなるということです。コントロール、戻る、再生/一時停止、シーク、完了などを使用できますが、コントロール以外の領域をタッチしてコントロールの表示を切り替えることはできません。通常の再生を許可すると自動的に非表示になりますが、非制御領域に触れても再び表示されません。

ここで何が起こっているのかわかりません。あなたが私を助けることができれば大好きです。

ありがとう、g。

4

1 に答える 1

0

MPMoviePlayerViewController の宣言を .h ファイルに移動し、m ファイルで viewDidLoad またはおそらく viewWillAppear を割り当てて init :)

于 2012-09-18T07:42:48.927 に答える