gpt4 book ai didi

java - 在 Videoview 中旋转实际的视频缓冲区

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:13:32 25 4
gpt4 key购买 nike

我目前正在开发专门针对 Android 的 GoogleTV 设备的应用程序,其中未启用或强制应用程序的方向为横向以外的任何内容,并且根据我的设想,将来也不会启用,实际上是应用程序只是在尝试运行 setRequestedOrientation();

时崩溃

Videoviews 继承了普通 View 的位置属性,比如 SetXSetYSetRotation

您可以将视频 View 的旋转设置为 90 度,但实际的视频缓冲区不会旋转。我已经尝试了一切,从以各种可以想象的方式使用旧的 mediaplayer > surfaceview.getHolder().lockcanvas().rotate(degrees),到覆盖 onDraw 方法一个扩展普通类的自定义视频 View ,我无法成功地工作。

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

提前致谢。

我想请您注意,我们正在为 android 3.1 开发,并且到目前为止的所有内容都是动态编码的,所有 ImageView 和视频 View 都是通过代码创建的,只有我们用于 Z 索引项目的特定布局具有在 layout.xml 文件中定义。

最佳答案

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

您可以做的是使用 TextureView 并设置其属性 rotation="90"(例如)。然后它会旋转框架,但宽高比是你需要自己处理的。为此,您可以使用 textTureView.setScaleX((screenHeight * 1.0f)/screenWidth)

更多细节在这里:Rotating an android VideoView

关于java - 在 Videoview 中旋转实际的视频缓冲区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8327774/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com