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() { mHandler.postDelayed(new Runnable() {
@Override @Override
public void run() { public void run() {
rtmpUrl = "rtmp://61.169.135.146/live/0"; // rtmpUrl = "rtmp://61.169.135.146/live/0";
SharedPreferences.Editor editor = sp.edit(); SharedPreferences.Editor editor = sp.edit();
editor.putString("rtmpUrl", rtmpUrl); editor.putString("rtmpUrl", rtmpUrl);
editor.apply(); editor.apply();

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

@ -312,14 +312,8 @@ public class SrsPublisher {
public void switchCameraFace(int id, int rotation) { public void switchCameraFace(int id, int rotation) {
List<CameraItemData> cameraData = mCameraView.getCameraData(); List<CameraItemData> cameraData = mCameraView.getCameraData();
CameraItemData item = cameraData.get(id); 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()) { if (mEncoder != null && mEncoder.isEnabled()) {
mEncoder.pause(); mEncoder.pause();

Loading…
Cancel
Save