如何旋转 textureView 以显示 cameraPreview

how to rotate textureView to show a cameraPreview

我使用 camera2 api 来显示相机预览,我将屏幕方向锁定为横向,我的问题是我想旋转纹理视图以显示正确的相机预览,当我使用方法setRotation,它变小了。我在堆栈上搜索,但所有解决方案都是相对于相机的(第一个 api),所以有没有旋转 textureView 的解决方案。

您可以向 TextureView 的矩阵添加旋转。有关示例,请参阅 Grafika's "play movie activity",它将视频解码器的输出发送到 TextureView(与相机预览的基本原理相同)。

如果您查看 adjustAspectRatio(),您会发现它正在调整输出的位置(翻译)和比例以匹配视频的纵横比。还有一个注释掉的 postRotate() 调用会将输出旋转 10 度。

请注意,这是在视图内旋转视频帧,而不是视图本身。