Come usare la camera frontale di fronte a Samsung Galaxy S

Ho provato diverse risposte che ho trovato in tutto il web, come ad esempio:

Camera.Parameters parameters = mCamera.getParameters(); parameters.set("camera-id", 2); mCamera.setParameters(parameters); 

o

  • Come modificare la dimensione RAM dell'emulatore android dalla row di command?
  • Come funziona la cartella mdpi, hdpi, xhdpi?
  • Import progetto Cordova in Android Studio
  • Scheda frammento Android host + viewpager swipe?
  • Esegui / installa / debuga applicazioni Android su Wi-Fi?
  • Qual è l'ordine corretto di call methods di superclass in methods onPause, onStop e onDestroy? e perché?
  •  mMediaRecorder.setVideoSource(2); 

    Ma non funziona. Ho anche impostato le autorizzazioni sul file manifesto:

     <uses-permission android:name="android.permission.CAMERA" /> <uses-feature android:name="android.hardware.camera" /> 

    Sto perdendo qualcosa? Ho cercato StackOverflow e so che questo è stato chiesto prima, ma non sembra essere una soluzione confermata su questo, qualsiasi tipo di aiuto sarebbe apprezzato.

    Nota: sto utilizzando Galaxy S sulla piattaforma 2.1

  • Errore Ionico build di android - Imansible trovare la variabile di ambiente 'ANDROID_HOME'
  • Come get AssetManager senza riferimento a Context?
  • ViewHolder - buona pratica
  • Android - la creazione di listview interamente da xml
  • Il nome host potrebbe non essere null in HttpResponse eseguire per android
  • Come funziona uno stile android: attr?
  • 3 Solutions collect form web for “Come usare la camera frontale di fronte a Samsung Galaxy S”

    Comunque dopo qualche prova e errore, ho capito come farlo:

     Camera.Parameters parameters = mCamera.getParameters(); parameters.set("camera-id", 2); parameters.setPreviewSize(640, 480); // or (800,480) this is supported front camera preview size @ Samsung Galaxy S mCamera.setParameters(parameters); 

    Oppure, se è necessario utilizzarlo con MediaRecorder:

     MediaRecorder mMediaRecorder = new MediaRecorder(); Camera mCamera = Camere.open(); Camera.Parameters parameters = mCamera.getParameters(); parameters.set("camera-id", 2); parameters.setPreviewSize(640, 480); // or (800,480) mCamera.setParameters(parameters); mCamera.unlock(); // unlock, to give other process to access it otherwise it can't be used later mMediaRecorder.setCamera(mCamera); // continue with mMediaRecorder standard routines here 

    Se è necessario disporre di una dimensione di anteprima minore, è ansible impostare / scalare la dimensione SurfaceView.

    Attualmente non esiste un'API standard per le telecamere frontali; dovrai contare su qualsiasi documentazione (se presente) del produttore dell'hardware per l'utilizzo delle loro estensioni per accedere alla telecamera anteriore. Questo ovviamente functionrà solo su quei dispositivi specifici.

    Nota la scrittura di stringhe crude come "camera-id" è spesso un buon segno che hai vagato nel bosco al di fuori del SDK ufficiale. 🙂

    Penso che questo sia il posto giusto per aggiungere alcuni dettagli che ho elaborato.

    Nel caso in cui si utilizzi la camera frontale in modalità ritratto e il file risultante esce tagliato in quadrati con blocchi verdi in prova per invertire la width e l'altezza (sia anteprima che registratore) e l'impostazione dell'encoder a H263 …

    Questo ha risolto il problema sulla mia Samsung Galaxy S su 2.3.3 + …

    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.