相机翻转动画使用TextureView

时间:2015-02-24 12:19:26

标签: java android animation android-camera android-textureview

我正在使用TextureView从相机显示我的直播流。我写了一个功能,通过翻转动画在前后相机之间切换。当我通过动画将Textureview从90度翻转到180度时。它显示从右到左而不是从左到右的直播。这种行为是可以理解的,因为左角在翻转动画上变得正确。如何在动画后更改实时流。我已经尝试了很多,但找不到任何解决方案。请解决这个问题的任何建议或解决方案。

1 个答案:

答案 0 :(得分:0)

您可以在纹理视图上应用变换矩阵以水平翻转相机。

您需要在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);
}
}

我希望这能解决你的问题。