0

我正在为运行 Android 7.1.2 的 TVBox 制作媒体播放器应用程序。我想旋转 HDMI 输出,但盒子的旋转被锁定为横向,所以我无法使用setRequestedOrientation. 我使用的库是带有 SurfaceView 的 VLC Android。我不能使用 TextureView,因为它是如此滞后并丢弃 FPS。

要旋转 HDMI 输出,我尝试了以下方法:

  • 修改 build.prop 文件但没有运气。
  • 安装一堆屏幕旋转应用程序,但它也没有工作。
  • 我已经尝试过这个和一些相关的教程,但它没有用:

https://android.stackexchange.com/questions/117003/allow-rotate-into-portrait-mode-but-do-not-rotate-external-display

  • 我尝试使用 MediaRouter,但盒子将 HDMI 识别为主屏幕而不是外部屏幕。
  • 我尝试使用 VLC 过滤器:video-filter=rotate, :video-filter=transform,但它仅在 4.0 中可用。
  • 我还修改了 VLC 源代码,但遗憾的是它只旋转图片,而不是视频。

那么有没有其他方法可以尝试旋转 HDMI 输出的屏幕方向?我们是否有机会通过 OpenGL ES 或本机代码旋转屏幕?

谢谢你。

4

1 回答 1

1

所以你说你不能用video-filter=rotate,那怎么video-filter=transform办?

final ArrayList<String> args = new ArrayList<>();
args.add("--video-filter=transform");
args.add("--transform-type=270");

mLibVLC = new LibVLC(context, args);
mMediaPlayer = new MediaPlayer(mLibVLC);
final IVLCVout vlcVout = mMediaPlayer.getVLCVout();
vlcVout.setVideoView(mSurfaceView);
vlcVout.setWindowSize(mSurfaceView.getWidth(), mSurfaceView.getHeight());
于 2021-03-01T13:40:26.800 回答