Camera2 修改旋转角度

master
liuguijing 7 months ago
parent 8e026beec7
commit 8b42f2ce75

@ -180,7 +180,7 @@ public class MainActivity extends AppCompatActivity implements RtmpHandler.RtmpL
mHandler.postDelayed(new Runnable() {
@Override
public void run() {
rtmpUrl = "rtmp://61.169.135.146/live/0";
// rtmpUrl = "rtmp://61.169.135.146/live/0";
SharedPreferences.Editor editor = sp.edit();
editor.putString("rtmpUrl", rtmpUrl);
editor.apply();

@ -413,18 +413,15 @@ public class GPUImageFilter {
}
//设置纹理旋转角度
public void setOrtation(int i, int rotation) {
//纹理坐标
TEX_COORD = new float[]{0.0f, 0.0f, // Bottom left.
1.0f, 0.0f, // Bottom right.
0.0f, 1.0f, // Top left.
1.0f, 1.0f // Top right.
};
final float TEX_COORD_270[] = {0.0f, 0.0f, // Bottom left.
1.0f, 0.0f, // Bottom right.
0.0f, 1.0f, // Top left.
1.0f, 1.0f // Top right.
};
public void setOrtation(int rotation) {
// //纹理坐标
// TEX_COORD = new float[]{0.0f, 0.0f, // Bottom left.
// 1.0f, 0.0f, // Bottom right.
// 0.0f, 1.0f, // Top left.
// 1.0f, 1.0f // Top right.
// };
final float TEX_COORD0[] = {
//1号摄像头 正
0.0f, 1.0f, // Bottom left.
@ -446,60 +443,25 @@ public class GPUImageFilter {
0.0f, 0.0f, // Top left.
0.0f, 1.0f // Top right.
};
if (rotation == -1) {
if (i == 0) {
final float TEX_COORD_270[] = {0.0f, 0.0f, // Bottom left.
1.0f, 0.0f, // Bottom right.
0.0f, 1.0f, // Top left.
1.0f, 1.0f // Top right.
};
//纹理坐标
TEX_COORD = TEX_COORD0;
} else if (i == 1) {
TEX_COORD = TEX_COORD_90;
} else if (i == 2) {
TEX_COORD = TEX_COORD_180;
} else if (i == 3) {
TEX_COORD = TEX_COORD_270;
}
} else {
if (rotation == 0) {
if (i == 0) {
TEX_COORD = TEX_COORD0;
} else if (i == 1) {
TEX_COORD = TEX_COORD_90;
} else if (i == 2) {
TEX_COORD = TEX_COORD_180;
} else if (i == 3) {
} else if (rotation == 90) {
TEX_COORD = TEX_COORD_270;
}
} else if (rotation == 1) {
if (i == 0) {
TEX_COORD = TEX_COORD_90;
} else if (i == 1) {
TEX_COORD = TEX_COORD_180;
} else if (i == 2) {
TEX_COORD = TEX_COORD_270;
} else if (i == 3) {
TEX_COORD = TEX_COORD0;
}
} else if (i == 2) {
if (i == 0) {
} else if (rotation == 180) {
TEX_COORD = TEX_COORD_180;
} else if (i == 1) {
TEX_COORD = TEX_COORD_270;
} else if (i == 2) {
TEX_COORD = TEX_COORD0;
} else if (i == 3) {
} else if (rotation == 270) {
TEX_COORD = TEX_COORD_90;
}
} else if (i == 3) {
if (i == 0) {
TEX_COORD = TEX_COORD_270;
} else if (i == 1) {
} else {
TEX_COORD = TEX_COORD0;
} else if (i == 2) {
TEX_COORD = TEX_COORD_90;
} else if (i == 3) {
TEX_COORD = TEX_COORD_180;
}
}
}
}
}

@ -522,8 +522,8 @@ public class SrsCameraView extends GLSurfaceView implements GLSurfaceView.Render
return closestRange;
}
public void setOrtation(int cameraid,int rotation) {
magicFilter.setOrtation(cameraid,rotation);
public void setOrtation(int rotation) {
magicFilter.setOrtation(rotation);
}
public void stopTorch() {

@ -312,14 +312,8 @@ public class SrsPublisher {
public void switchCameraFace(int id, int rotation) {
List<CameraItemData> cameraData = mCameraView.getCameraData();
CameraItemData item = cameraData.get(id);
int cameraid = 0;
try {
cameraid = Integer.parseInt(item.getId());
} catch (Exception e) {
cameraid = 0;
}
mCameraView.setOrtation(cameraid, rotation);
mCameraView.setOrtation(rotation);
if (mEncoder != null && mEncoder.isEnabled()) {
mEncoder.pause();

Loading…
Cancel
Save