8

を使用してImageView、正方形の高さと幅を設定できます(たとえば、100dip x 100dip)。次に、を使用android:scaleType="centerCrop"すると、アスペクト比に関係なく正方形にトリミングされた画像が得られます。

これをで行うことはできますVideoViewか?

正方形の高さと幅を設定してみましたが、アスペクト比を維持したまま、正方形をできるだけ埋めるようにサイズを変更するだけです。これは完全に予想されることです。

とは異なり、スケールやトリミングのプロパティ/メソッドはないようですがImageViewVideoViewドキュメントのこれにより、何かが足りないと思います。

[VideoView]...スケーリングや色付けなどのさまざまな表示オプションを提供します。

どんなアイデアでも大歓迎です。

4

2 に答える 2

4

TextureViewAndroidAPI14とハードウェアアクセラレーションを必要とするビデオクロップ効果を実現します。私はここの私の記事でそれを説明しました。

TextureVideoViewまた、Androidに基づくカスタムビューを使用して、TextureViewビデオを簡単に再生およびトリミングすることもできます。これは非常に似ていますImageView#setScaleType

レイアウト

<com.dd.crop.TextureVideoView
        android:id="@+id/cropTextureView"
        android:layout_width="fill_parent"
        android:layout_height="100dp"/>

コード

TextureVideoView cropTextureView = (TextureVideoView) findViewById(R.id.cropTextureView);
// Use `setScaleType` method to crop video
cropTextureView.setScaleType(TextureVideoView.ScaleType.TOP);
// Use `setDataSource` method to set data source, this could be url, assets folder or path
cropTextureView.setDataSource("http://www.w3schools.com/html/mov_bbb.mp4");
cropTextureView.play();

これが誰かを助けることを願っています!

于 2014-03-24T09:00:52.150 に答える
1

ソースは、VideoViewビューでネイティブにサポートされていないことを意味します。ソースをコピーして機能させることもできます。:)おそらく、 255行目にelseを追加したり、onMeasureを変更して、サイズに合わせて拡張されないようにしたりします。

編集:リファレンスドキュメントが少しずれているか、まったく間違っていることに驚かないでください。

于 2011-08-05T16:58:37.260 に答える