Ho una fotocamera nell'app e voglio renderla automaticamente messa a fuoco in modo continuo come fa la fotocamera del telefono. Ho trovato le modalità FOCUS_MODE_CONTINUOUS_VIDEO
e FOCUS_MODE_CONTINUOUS_PICTURE
, ma non sono supportate da alcuni dei telefoni HTC Gingerbread su cui sto effettuando i test.La messa a fuoco automatica di Android quando le modalità di messa a fuoco automatica continua non sono supportate
Questo è quello che sto facendo per determinare se posso usare queste modalità:
Camera.Parameters parameters = mCamera.getParameters();
List<String> supportedFocusModes = parameters.getSupportedFocusModes();
if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH &&
supportedFocusModes.contains(Camera.Parameters.FOCUS_MODE_CONTINUOUS_PICTURE)) {
parameters.setFocusMode(Camera.Parameters.FOCUS_MODE_CONTINUOUS_PICTURE);
}
else if (supportedFocusModes.contains(Camera.Parameters.FOCUS_MODE_CONTINUOUS_VIDEO)) {
parameters.setFocusMode(Camera.Parameters.FOCUS_MODE_CONTINUOUS_VIDEO);
}
else if (supportedFocusModes.contains(Camera.Parameters.FOCUS_MODE_AUTO)) {
// auto focus on request only
parameters.setFocusMode(Camera.Parameters.FOCUS_MODE_AUTO);
}
esecuzione su diversi telefoni HTC Gingerbread, non ottengo i modi continui alla schiena, ma ottengo "auto ". Che mi consente di mettere a fuoco automaticamente su richiesta (quando chiamo mCamera.autoFocus(null)
, ma la fotocamera non si rimetterà a fuoco se l'utente sposta la fotocamera.
Non riesco a impostare la modalità di messa a fuoco su qualsiasi cosa che la fotocamera non supporta, se lo faccio mostra vuoto.
una soluzione che ho cercato è quello di chiamare mCamera.autoFocus(null)
su un timer. Ma questo fa sì che la fotocamera di ridefinire continuamente, anche se è già a fuoco.
c'è un modo per implementare una messa a fuoco automatica continua esperienza su questi telefoni? Quando guardo l'app per fotocamera HTC su questi telefoni, ha una messa a fuoco automatica continua: mentre ti muovi, la fotocamera si concentra nuovamente e non mantiene la messa a fuoco una volta sola l'immagine è a fuoco.
Dopo molte ore trascorse su questo, sto studiando la soluzione [qui] (http://stackoverflow.com/a/10555471/1481500) – kos