2010-12-10 23 views
7

ImageViewを使用すると、正方形の高さと幅(100dip x 100dipなど)を設定できます。その後、android:scaleType="centerCrop"を使用すると、アスペクト比に関係なく四角に切り取られた画像が表示されます。VideoView crop to square

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

私は正方形の高さと幅を設定しようとしましたが、アスペクト比を維持しながらできるだけ正方形を埋めるようにサイズを変更しています。

ImageViewとは異なり、任意のスケールや作物のプロパティ/メソッドを持っていないようですが、VideoViewドキュメントでは、これは私が何か欠けていると思わせる:[VideoView] ...様々なを提供して

をスケーリングや色合いなどの表示オプション 。

いずれのアイデアも高く評価されます。

答えて

1

Sourceは、VideoViewビューでネイティブにサポートされていないことを示します。ソースをコピーして動作させることもできます。 :)など、onMeasureサイズに合うように拡大するのを防ぐために、変更、ライン255で他を追加することにより、ほとんどの場合

編集: は、リファレンスマニュアルはオフあるいは単なるわずかであることを驚いてはいけません違う。

+0

甘い、ありがとう、ちょっと残念ですが、私は今このプロジェクトを少し前に終了しました! :) – Andy

+0

@アンディあなたは正方形のビデオを達成しようとしましたか? – Naz141

+0

@ Naz141私は確信していません。デモの目的であったので、ソースビデオを切り取った可能性があると考えてください。 – Andy

4

あなたはAndroid API 14とハードウェアアクセラレーションを必要とするTextureViewを使用してビデオクリッピングエフェクトを作成します。私は私の記事hereでそれを説明しました。

TextureVideoView - android TextureViewに基づいたカスタム表示を使用すると、簡単に動画を再生したりトリミングすることができます。 ImageView#setScaleType

レイアウト

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(); 

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

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

コードと非常によく似てこれ!

+0

https://github.com/malmstein/fenster –