0

TextureView を使用して、カメラからのライブ ストリームを表示しています。フリップアニメーションでフロントカメラとバックカメラを切り替える機能を書きました。Textureview をアニメーションで 90 度から 180 度に反転すると。ライブ ストリームを左から右ではなく、右から左に表示します。反転アニメーションでは左隅が右になるため、この動作は理解できます。アニメーション後にライブ ストリームを変更するにはどうすればよいですか。私は多くのことを試しましたが、解決策を見つけることができませんでした。この問題を解決するための提案または解決策をお願いします。

4

1 に答える 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 に答える