È possibile utilizzare la fotocamera in frammenti come visualizzazione, in modo che non si apra un'altra app e si allontani dal mio? Qualcosa come SurfaceView
con la macchina fotografica?Apri la fotocamera all'interno del frammento
5
A
risposta
3
Sì si, Controllare questo post: https://www.airpair.com/android/android-camera-surface-view-fragment
Fondamentalmente overwritting il SurfaceView e integrando la richiamata immagine della telecamera.
/* Surface on which the camera projects it's capture results.
*/
class CameraPreview extends SurfaceView implements SurfaceHolder.Callback {
SurfaceHolder mHolder;
Camera mCamera;
public CameraPreview(Context context, Camera camera) {
super(context);
mCamera = camera;
// Install a SurfaceHolder.Callback so we get notified when the
// underlying surface is created and destroyed.
mHolder = getHolder();
mHolder.addCallback(this);
// deprecated setting, but required on Android versions prior to 3.0
mHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
}
public void surfaceCreated(SurfaceHolder holder) {
// The Surface has been created, now tell the camera where to draw the preview.
try {
mCamera.setPreviewDisplay(holder);
mCamera.startPreview();
} catch (IOException e) {
e.printStackTrace();
}
}
public void surfaceDestroyed(SurfaceHolder holder) {
// empty. Take care of releasing the Camera preview in your activity.
}
public void surfaceChanged(SurfaceHolder holder, int format, int w, int h) {
// If your preview can change or rotate, take care of those events here.
// Make sure to stop the preview before resizing or reformatting it.
if (mHolder.getSurface() == null){
// preview surface does not exist
return;
}
// stop preview before making changes
try {
mCamera.stopPreview();
} catch (Exception e){
// ignore: tried to stop a non-existent preview
}
// set preview size and make any resize, rotate or
// reformatting changes here
// start preview with new settings
try {
mCamera.setPreviewDisplay(mHolder);
mCamera.startPreview();
} catch (Exception e){
e.printStackTrace();
}
}
}
con una foto di richiamata macchina fotografica come:
private Camera.PictureCallback mPicture = new Camera.PictureCallback() {
@Override
public void onPictureTaken(byte[] data, Camera camera) {
File pictureFile = getOutputMediaFile();
if (pictureFile == null){
Toast.makeText(getActivity(), "Image retrieval failed.", Toast.LENGTH_SHORT)
.show();
return;
}
try {
FileOutputStream fos = new FileOutputStream(pictureFile);
fos.write(data);
fos.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
};
1
Native implementazione è il modo migliore.
XML
<com.google.android.cameraview.CameraView
android:id="@+id/camera"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:keepScreenOn="true"
android:adjustViewBounds="true"
app:autoFocus="true"
app:aspectRatio="4:3"
app:facing="back"
app:flash="auto"/>
All'interno Attività/Frammento
Inizio fotocamera
mCameraView.start();
arresto fotocamera
mCameraView.stop();
Problemi correlati
- 1. Scatta una foto dalla fotocamera nel frammento
- 2. Frammento non smettere di anteprima della fotocamera
- 3. Apri/Esegui fotocamera dal servizio in background in Android
- 4. Apri la finestra del browser IE
- 5. Android ridurre la dimensione del Immagine fotocamera
- 6. Anteprima fotocamera Android - Come "congelare" la fotocamera?
- 7. Ritagliare la fotocamera Android
- 8. Apertura del fascino delle impostazioni mentre Fotocamera aperta chiude la fotocamera in windows 8/WinRT
- 9. utilizzare la fotocamera collegata tramite USB invece della fotocamera integrata
- 10. L'immagine dalla fotocamera è nullo se la fotocamera viene ruotata
- 11. Come aprire la fotocamera photosphere?
- 12. Perdita di stato del frammento?
- 13. Tentativo di aggiungere un frammento al contenitore del frammento FrameLayout
- 14. Come gestire indietroPremere con frammento
- 15. Apri pdf nel plug-in del browser
- 16. Come utilizzare la chiave apri openweathermap?
- 17. aggiorna la visualizzazione del testo nell'attività dal frammento
- 18. Rilevamento della frequenza cardiaca tramite la fotocamera
- 19. Android: come rilevare se la fotocamera lampeggiava
- 20. Forza la modalità ritratto nella fotocamera
- 21. Cucitura di immagini multiple per la fotocamera
- 22. Apri la finestra WPF nell'APP WindowsForm
- 23. Apri la pagina html all'interno di fancybox
- 24. FileProvider che non funziona con la fotocamera
- 25. Frammento di chiamata da frammento
- 26. Stato frammento del cassetto di navigazione Android
- 27. Mostra tastiera per edittext all'avvio del frammento
- 28. usa la fotocamera maemo di python
- 29. Come aprire la fotocamera utilizzando Android NDK
- 30. L'emulatore Android non disabilita mai la fotocamera
questo è impressionante –