ich folgenden Code verwenden LED-Taschenlampe einzuschalten und aus:LED-Taschenlampe auf xperia Z5
public Flashlight(SurfaceView preview, Context context){
this.preview = preview;
this.context = context;
mHolder = preview.getHolder(); //mHolder is surfaceHolder
mHolder.addCallback(this);
try {
mCamera = Camera.open();
params = mCamera.getParameters();
mCamera.setPreviewDisplay(mHolder);
mCamera.startPreview();
//AUTOFOCUS LASER FIX ON LG G3
List<String> focusModes = params.getSupportedFocusModes();
if (focusModes.contains(params.FOCUS_MODE_INFINITY)) {
params.setFocusMode(params.FOCUS_MODE_INFINITY);
}
else{
if (focusModes.contains(params.FOCUS_MODE_FIXED))
params.setFocusMode(params.FOCUS_MODE_FIXED);
}
mCamera.setParameters(params);
cameraOpened = true;
}catch (Exception e){
cameraOpened = false;
e.printStackTrace();
}
}
private void turnOnFlashlight(){
flashlightOn = true;
params.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);
mCamera.setParameters(params);
}
private void turnOffFlashlight(){
flashlightOn = false;
params.setFlashMode(Camera.Parameters.FLASH_MODE_OFF);
mCamera.setParameters(params);
}
Es funktioniert auf den meisten Handys, aber ich kann es auf xperia Z5 bekommen arbeiten. Ich habe nicht Z5 für das Testen, also weiß ich es nur von der Benutzerantwort. Also würde ich gerne fragen, ob es eine andere (am besten funktionierende) Möglichkeit gibt, die Taschenlampe am Xperia Z5 einzuschalten.
Dank vorwärts
versuche '' 'mCamera.setPreviewTexture (new SurfaceTexture (0));' '' hinzuzufügen, das musste ich für einige Geräte hinzufügen. Ich weiß nicht, ob dein '' 'setPreviewDisplay''' schon etwas Ähnliches macht (EDIT: okay, ohne das eigentliche Gerät zum Testen ist das weit hergeholt, sorry) –