aktuelle Anfragen

Archivierte Anfrage zur App Programmierung

Dieses Projekt ist bereits archiviert. Wenn Sie selbst an der Entwicklung eines Apps interessiert sind, können Sie eine Anfrage aufgeben:
Anfrage zur App Entwicklung stellen

Die derzeit aktuellen Projekte finden Sie unter: Aktuelle Anfragen

Wenn Sie selbst Entwickler von Apps sind, können Sie sich als Entwickler registrieren



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 android

Veröffentlicht am10.11.2021
Angebotsfrist bis22.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