8

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

ここに画像の説明を入力してください

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

ここに画像の説明を入力してください

これは私が作成したモックアップですが、カメラロールのビデオとメッセージアプリで送信されるビデオはその再生矢印を使用します。標準のiOS再生矢印を使用するには、どのクラスを実装する必要がありますか?

4

3 に答える 3

6

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

于 2012-10-08T15:33:57.707 に答える
0

この矢印<video>は、WebビューのHTML5タグにビデオを埋め込むことで取得できます。

実際の実装については、次のような回答を参照してください。HTML5を使用してUIWebViewで埋め込みビデオを再生します

于 2012-10-15T09:46:06.020 に答える
0

UIButtonを使用するのはどうですか?素敵な背景画像があり、それをクリックして、ムービープレーヤーの後ろに移動したり、ボタンを削除したりすることもできます。コードでも簡単に追加できます

于 2012-10-15T21:17:52.447 に答える