2011-11-30 40 views
7

私は現在、Android以外のものへのアプリケーションの向きを使用したり強制したりすることができないアンドロイドのGoogleTVデバイス専用のアプリケーションを開発しています。実際には、アプリは実行しようとするとクラッシュすると思ったsetRequestedOrientation();Videoviewの実際のビデオバッファを回転

Videoviewsは、通常のビューからの位置プロパティを継承します。SetX,SetY、つまりSetRotationのようなものです。

ビデオビューの回転を90度に設定できますが、実際のビデオバッファは回転しません。 普通のクラスを拡張するカスタムビデオビューのメソッドonDrawを上書きするために、以前のmediaplayer>surfaceview.getHolder().lockcanvas().rotate(degrees)を使用することから、試してみましたが、うまくいきません。

簡単に言えば、デバイスの向きを変更せずに、ビデオビュー内で実際のビデオを回転するにはどうすればよいですか? 回転したビデオビューの実際の例があり、その内容も回転している場合は、どのように動かしたか説明してください。

ありがとうございます。

アンドロイド3.1向けに開発中であり、これまでのすべてのものが動的にコード化されていることに注意してください。すべての画像ビューとビデオビューはコードで作成され、Zインデックスアイテムファイルはlayout.xmlに定義されています。

答えて

1

VideoViewは、構成マトリックスが正しく設定され、回転属性が使用されていても、ビデオの回転をサポートしていません。

あなたができることは、TextureViewを使用して、その属性rotation = "90"(たとえば)を設定することです。それはフレームを回転させますが、アスペクト比はあなた自身を処理するために必要なものです。あなたはtextTureView.setScaleX((screenHeight * 1.0F)/ screenWidth)を使用することができますそうするためには

詳細はここにある:Rotating an android VideoView