Mam niestandardową kamerę, która działa dobrze w niektórych urządzeniach. Działa dobrze na Samsung Galaxy Gran Duos (samsung-gt i9082, Android 4.2.2), ale kiedy próbuję uchwycić obraz, który wcześniej powiększałem, to zawiesza się, nie ma awarii, jedynym sposobem na wyjście jest naciśnięcie Przycisk powrotu. Dzieje się tak tylko w Samsung Galaxy Gran Duos.Zamrożona kamera Android po powiększeniu
Kod, który kiedyś zrobić zdjęcie:
Camera.PictureCallback photoCallback = new Camera.PictureCallback() {
public void onPictureTaken(byte[] data, Camera camera) {
try {
} catch (Exception e) {
if (flePicture== null){
Log.d("camera", "Error creating media file, check storage permissions: " +
e.getMessage());
return;
}
}
try {
FileOutputStream fos = new FileOutputStream(flePicture);
fos.write(data);
fos.close();
} catch (FileNotFoundException e) {
Log.d("camera", "File not found: " + e.getMessage());
} catch (IOException e) {
Log.d("camera", "Error accessing file: " + e.getMessage());
}
}
};
a kod używany do powiększania:
private void zoomIn() {
if (pblnInPreview) {
Camera.Parameters parameters = camCamera.getParameters();
if ((parameters.getZoom() + 1) < parameters.getMaxZoom()) {
parameters.setZoom(parameters.getZoom() + 1);
camCamera.setParameters(parameters);
}
}
}
LogCat:
04-07 17:21:14.386: E/BrcmCamera(130): processControlBuffer: Corrupt stream error raised by camera - sensor communication failure
Czy błąd występuje podczas robienia zdjęć we wszystkich rozdzielczościach? Czy dopuszczalne jest robienie zdjęć w niższej rozdzielczości na zaatakowanych urządzeniach? – samgak
@samgak: Tak, dzieje się to we wszystkich rozdzielczościach. Nie ma problemu z niższą rozdzielczością, już go używam! Dzięki. –
Czy próbujesz uruchomić podgląd po ustawieniu parametrów? – Cynapsis