Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在Videoview中旋转实际视频缓冲区_Java_Android_Rotation_Android Videoview_Screen Orientation - Fatal编程技术网

Java 在Videoview中旋转实际视频缓冲区

Java 在Videoview中旋转实际视频缓冲区,java,android,rotation,android-videoview,screen-orientation,Java,Android,Rotation,Android Videoview,Screen Orientation,我目前正在为android的Google TV设备开发一款应用程序,该应用程序未启用或强制将应用程序定向到除横向以外的任何位置,并且根据我的估计,将来也不会启用。实际上,该应用程序在尝试运行setRequestedOrientation()时会崩溃 VideoView从普通视图继承位置属性,例如SetX、SetY和SetRotation 可以将videoview的旋转设置为90度,但实际的videobuffer不会旋转。 我尝试了各种方法,从使用旧的mediaplayer>surfaceview

我目前正在为android的Google TV设备开发一款应用程序,该应用程序未启用或强制将应用程序定向到除横向以外的任何位置,并且根据我的估计,将来也不会启用。实际上,该应用程序在尝试运行
setRequestedOrientation()
时会崩溃

VideoView从普通视图继承位置属性,例如
SetX
SetY
SetRotation

可以将videoview的旋转设置为90度,但实际的videobuffer不会旋转。 我尝试了各种方法,从使用旧的mediaplayer>
surfaceview.getHolder().lockcanvas().rotate(degrees)
,到覆盖扩展普通类的自定义videoview的
onDraw
方法,我都无法成功地使用这些方法

简而言之,如何在不改变设备方向的情况下在videoview中旋转实际视频? 如果您有一个旋转视频视图的工作示例,其中的内容也旋转了,请务必解释您是如何使其工作的

提前谢谢


我希望你们注意到,我们正在为android 3.1开发,而且到目前为止,所有内容都是动态编码的,所有ImageView和videoview都是通过代码创建的,在
layout.xml
文件中仅定义了我们用于Z索引项的特定布局。

即使正确设置了合成矩阵并使用了旋转属性,VideoView也不支持视频旋转

您可以使用TextureView并设置其属性rotation=“90”(例如)。然后它将旋转帧,但纵横比是您需要自行处理的。为此,您可以使用textTureView.setScaleX((屏幕高度*1.0f)/screenWidth)

详情如下: