我正在使用 TextureView 显示来自相机的实时流。我写了一个通过翻转动画在前后摄像头之间切换的函数。当我通过动画将 Textureview 从 90 度翻转到 180 度时。它从右到左而不是从左到右显示实时流。这种行为是可以理解的,因为左角在翻转动画中变为右角。动画后如何更改直播。我已经尝试了很多,但找不到任何解决方案。请提供任何解决此问题的建议或解决方案。
问问题
1175 次
1 回答
1
您可以在纹理视图上应用变换矩阵来水平翻转相机。
您需要在onSurfaceTextureAvailable(..)
回调中应用此转换:
public void onSurfaceTextureAvailable(SurfaceTexture surfaceTexture, int width, int height)
{
//If you are in portrait mode.
//mCamera.setDisplayOrientation(90);
//If you want to flip only front camera.
if(YOUR_FRONT_CAMERA_FLAG)
{
Matrix matrix = new Matrix();
matrix.setScale(-1, 1);
matrix.postTranslate(width, 0);
mTextureView.setTransform(matrix);
}
}
我希望这能解决你的问题。
于 2015-02-24T12:45:20.127 回答