私のアプリでは、MPMoviePlayerController作成したインスタンスはブラックボックスとして始まり、次のようになります(ビデオが黒で始まり、フェードインするため)。

ただし、次の例のように、サムネイル画像を使用して、このようなよりユーザーフレンドリーなものを想定していました。

これは私が作成したモックアップですが、カメラロールのビデオとメッセージアプリで送信されるビデオはその再生矢印を使用します。標準のiOS再生矢印を使用するには、どのクラスを実装する必要がありますか?
私のアプリでは、MPMoviePlayerController作成したインスタンスはブラックボックスとして始まり、次のようになります(ビデオが黒で始まり、フェードインするため)。

ただし、次の例のように、サムネイル画像を使用して、このようなよりユーザーフレンドリーなものを想定していました。

これは私が作成したモックアップですが、カメラロールのビデオとメッセージアプリで送信されるビデオはその再生矢印を使用します。標準のiOS再生矢印を使用するには、どのクラスを実装する必要がありますか?
thumbnailImageAtTime:timeOption:これは、の方法のように見えMPMoviePlayerControllerます。サムネイルを取得する時間を渡し、その画像を使用してUIImageView動画の上にを表示する必要があります。
サムネイルを作成したら、を作成して画像をサムネイルに設定し、をに設定しUIImageViewていることを確認します。この画像ビューのフレームは、ムービープレーヤーを覆うように設定してください。userInteractionsEnabledYES
UITapGestureRecognizerこれで、メソッドをトリガーするその画像ビュー上にを作成できます。play次に、このメソッドはオブジェクトのメソッドを呼び出しMPMoviePlayerControllerます。
-(void)viewDidLoad{
[...]
UIImage *thumbnail = [moviePlayer thumbnailImageAtTime:5.0
timeOption:MPMovieTimeOptionNearestKeyFrame];
UIImageView *iv = [[UIImageView alloc] initWithImage:thumbnail];
iv.userInteractionEnabled = YES;
iv.frame = moviePlayer.frame;
[self.view addSubview:iv];
[iv release];
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTap:)];
tap.numberOfTapsRequired = 1;
[iv addGestureRecognizer:tap];
[tap release];
[...]
}
- (void)handleTap:(UITapGestureRecognizer *)gesture{
iv.hidden = YES;
[moviePlayer play];
}
再生ボタンが必要な場合は、Photoshopで再生ボタンを作成し、これをサムネイル画像ビューの上に追加し、ジェスチャー認識機能をその画像ビューに接続して、ビデオの再生を開始するときに両方の画像ビューを非表示にしてください。
UIButtonそれ以外の場合は、画像を再生画像に設定して使用できます。そうすれば、はまったく必要ありませんUIGestureRecognizer。
この矢印<video>は、WebビューのHTML5タグにビデオを埋め込むことで取得できます。
実際の実装については、次のような回答を参照してください。HTML5を使用してUIWebViewで埋め込みビデオを再生します。
UIButtonを使用するのはどうですか?素敵な背景画像があり、それをクリックして、ムービープレーヤーの後ろに移動したり、ボタンを削除したりすることもできます。コードでも簡単に追加できます