aktuelle Anfragen
Teilaufgabe: Android Zoom camera preview mit camera2 API (ID 7271)
Projektbeschreibung |
Ich benötige etwas Unterstützung für eine sehr klar umrissen, kleine Teilaufgabe. Ich habe mit der camera2 API eine Preview der Kamera auf einer Textureview. Das funktioniert, wie es soll. Es soll nun noch der zoom ergänzt werden. Beim Start der Preview soll gleich automatisch bis zum maximalen zoom gezoomt werden. Dafür muss Code ergänz werden.
Dies ist der Stand im Moment (die CameraPreview wird über einen Button gestartet, das funktioniert soweit, nur der zoom fehlt).
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
myTextrureView = findViewById(R.id.textureView);
myCameraManager = (CameraManager) getSystemService(CAMERA_SERVICE);
openCamera();
}
private CameraDevice.StateCallback myStateCallBack = new CameraDevice.StateCallback() {
@Override
public void onOpened(@NonNull CameraDevice camera) {
myCameraDevice = camera;
}
@Override
public void onDisconnected(@NonNull CameraDevice camera) {
myCameraDevice.close();
}
@Override
public void onError(@NonNull CameraDevice camera, int error) {
myCameraDevice.close();
myCameraDevice = null;
}
};
private void openCamera() {
try {
myCameraID = myCameraManager.getCameraIdList()[0];
ActivityCompat.requestPermissions(MainActivity.this, new String[]{Manifest.permission.CAMERA, Manifest.permission.WRITE_EXTERNAL_STORAGE}, PackageManager.PERMISSION_GRANTED);
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) {
return;
}
myCameraManager.openCamera(myCameraID, myStateCallBack, null);
}
catch (Exception e){
e.printStackTrace();
}
}
public void cameraPreview(View view){
SurfaceTexture mySurfaceTexture = myTextrureView.getSurfaceTexture();
Surface mySurface = new Surface(mySurfaceTexture);
try {
myCaptureRequestBuilder = myCameraDevice.createCaptureRequest(CameraDevice.TEMPLATE_PREVIEW);
myCaptureRequestBuilder.addTarget(mySurface);
myCameraDevice.createCaptureSession(Arrays.asList(mySurface), new CameraCaptureSession.StateCallback() {
@Override
public void onConfigured(@NonNull CameraCaptureSession session) {
myCameraCaptureSession = session;
myCaptureRequestBuilder.set(CaptureRequest.CONTROL_MODE, CameraMetadata.CONTROL_MODE_AUTO);
try {
myCameraCaptureSession.setRepeatingRequest(myCaptureRequestBuilder.build(), null, null);
} catch (CameraAccessException e) {
e.printStackTrace();
}
}
@Override
public void onConfigureFailed(@NonNull CameraCaptureSession session) {
}
}, null
);
} catch (CameraAccessException e) {
e.printStackTrace();
}
}
|
|
OS |
|
|
Veröffentlicht am | 10.11.2021 |
Angebotsfrist bis | 22.11.2021 Anfrager deaktivieren die Anfrage selbst, wenn ein Entwickler gefunden wurde |
geplanter Endtermin |
06.12.2021 |
|
geplantes Budget |
€
2.000
|
Investitionsbereitschaft |
Projekt wird sicher umgesetzt
|
|
Sitz des Auftraggebers: 12209 Berlin.
Der Standort des App Entwicklers ist für den Auftraggeber
nicht relevant.
aktuelle Anfragen