2013-11-23 7 views
0

Итак, я использую metaio sdk, который запускает просмотр камеры. Все работает отлично, но на телефоне Galaxy S4 камера очень размыта и также кажется увеличенной. Это происходит только на Galaxy S4, на других устройствах камера выглядит хорошо.Камера Android не фокусируется. Сбой при попытке установитьПараметры

Когда я пытаюсь установить параметры камеры, добавив в моей деятельности:

@Override 
public void onSurfaceChanged(int width, int height) 
{ 
    super.onSurfaceChanged(width, height); 
    Camera camera = metaioSDK.getCamera(this); 

    Camera.Parameters parameters = camera.getParameters(); 
    Log.d("LEE","camera focused?"+parameters.getFocusMode()); 
    parameters.setFocusMode("continuous-picture"); 
    Log.d("LEE","camera focused?"+parameters.getFocusMode()); 
    camera.setParameters(parameters); 

} 

и я получаю аварии с этими ошибками:

11-23 20:09:04.693: E/metaio-java(30060): Error in JavaScript: 
11-23 20:09:04.693: E/metaio-java(30060): Error in JavaScript: 
11-23 20:09:04.693: E/metaio-java(30060): Error in JavaScript: 
11-23 20:09:04.693: E/metaio-java(30060): Error in JavaScript: 
11-23 20:09:04.693: E/metaio-java(30060): Error in JavaScript: 
11-23 20:09:04.693: E/metaio-java(30060): Error in JavaScript: 
11-23 20:09:04.693: A/libc(30060): Fatal signal 11 (SIGSEGV) at 0x37333866 (code=1), thread 30146 (WebViewCoreThre) 

Кроме того, если я пытаюсь установить фокус mode в onSurfaceCreated(), я не получаю никакого сбоя, но просмотр камеры все еще размыт.

public void onSurfaceCreated() 
    { 
     super.onSurfaceCreated(); 
     Camera camera = metaioSDK.getCamera(this); 

     Camera.Parameters parameters = camera.getParameters(); 
     //Log.d("LEE","camera focused?"+parameters.getFocusMode()); 
     parameters.setFocusMode("continuous-picture"); 
     //Log.d("LEE","camera focused?"+parameters.getFocusMode()); 
     camera.setParameters(parameters); 

    } 

Любая идея о том, почему это происходит, и как я могу сосредоточить внимание на S4? Как происходит действие разных на разных устройствах?

+0

ли в 6 сообщений об ошибках от 'Metaio-java' произойти только на S4? Или только когда вы вызываете 'parameters.setFocusMode()'? И где ваши сообщения LOG? Если они не отображаются, тогда авария происходит до того, как вы попытаетесь установить режим фокусировки. –

ответ

0

Вызов автофокусировка вручную Всякий раз, когда вы хотите сосредоточиться

Образец

preview.camera.autoFocus(new AutoFocusCallback() 
{ 
@Override 
    public void onAutoFocus(boolean arg0,Camera arg1) 
    { 
    preview.camera.takePicture(shutterCallback, 
             rawCallback, jpegCallback); 
} 
});