Java 在Videoview中旋转实际视频缓冲区
我目前正在为android的Google TV设备开发一款应用程序,该应用程序未启用或强制将应用程序定向到除横向以外的任何位置,并且根据我的估计,将来也不会启用。实际上,该应用程序在尝试运行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
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)
详情如下: