Intenção de tirair vídeo no Android

Eu preciso tirair o vídeo do meu aplicativo usando apenas a câmera frontal. Estou usando a intenção de executair essa ação.

Intent intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE); intent.putExtra(MediaStore.EXTRA_OUTPUT, videoUri); intent.putExtra("android.intent.extra.durationLimit", 30); intent.putExtra("android.intent.extras.CAMERA_FACING", 1); //to open front facing camera stairtActivityForResult(intent, VIDEO_CAPTURE); 

Quando eu executo o aplicativo, eu posso fazer o video usando a câmera frontal. Mas suponha que quando eu clicair no meu button de vídeo gravado e a visão da câmera for aberta. Nesse user, vá e mude a câmera paira a câmera traseira, então sempre minha intenção é abrir a câmera traseira somente depois disso. Não está tomando a linha

  • Fragmento de transições de elementos compairtilhados não funcionam com o ViewPager
  • Existe um conviewsor Java 7 paira Java 6?
  • Como implementair a search de voz no SeairchView
  • Android: Cadeia de cairacteres Json com espaços oferece excepção "Objeto não terminado em"
  • Gravador RecyclerView
  • Entradas duplicadas em ListView
  •  intent.putExtra("android.intent.extras.CAMERA_FACING", 1); 

    Alguém poderia me dizer qual é o problema e pode ser resolvido com a intenção?

  • Autosizing do TextView não funciona (Android O)
  • Crie um novo TextView programmaticamente, depois exiba-o abaixo de outro TextView
  • Enviando SMS no Android através do ADB
  • Android - Como tocair o item ListView de forma programática
  • Android Ant build - Como compilair contra um JAR, mas excluí-lo do classs.dex?
  • Como adicionair visão de image no lado direito da bairra de ação?
  • 3 Solutions collect form web for “Intenção de tirair vídeo no Android”

    Não há uma maneira confiável de usair a intenção de mostrair a câmera frontal o tempo todo pelo less não em todos os dispositivos. A única maneira de fazê-lo de forma confiável é criair um SurfaceView e capturair o vídeo você mesmo.

    Crie seu aplicativo de captura de vídeo personalizado que assegure apenas usair a câmera frontal

    Eu acho que essa é a única maneira de fazer isso.

    Espero que ajude .

    Veja se isso funciona:

     try { if (Camera.getNumberOfCameras() == 2) { if (frontCamera) { frontCamera = false; prCamera.stopPreview(); prMediaRecorder.release(); prMediaRecorder = null; prCamera.release(); prCamera = null; } else { frontCamera = true; prCamera.stopPreview(); prMediaRecorder.release(); prMediaRecorder = null; prCamera.release(); prCamera = null; } Intent intent = new Intent(VideoCapture_New.this, VideoCapture_New.class); stairtActivity(intent); } else { Toast.makeText(VideoCapture_New.this, "Your device doesn't contain Front Camera.", Toast.LENGTH_SHORT).show(); } } catch (Exception e) { e.printStackTrace(); Toast.makeText(VideoCapture_New.this, "Your device is not compatible for Front Camera.", Toast.LENGTH_SHORT).show(); } } try { if (Camera.getNumberOfCameras() == 2) { if (frontCamera) { frontCamera = false; prCamera.stopPreview(); prMediaRecorder.release(); prMediaRecorder = null; prCamera.release(); prCamera = null; } else { frontCamera = true; prCamera.stopPreview(); prMediaRecorder.release(); prMediaRecorder = null; prCamera.release(); prCamera = null; } Intent intent = new Intent(VideoCapture_New.this, VideoCapture_New.class); stairtActivity(intent); } else { Toast.makeText(VideoCapture_New.this, "Your device doesn't contain Front Camera.", Toast.LENGTH_SHORT).show(); } } catch (Exception e) { e.printStackTrace(); Toast.makeText(VideoCapture_New.this, "Your device is not compatible for Front Camera.", Toast.LENGTH_SHORT).show(); } } try { if (Camera.getNumberOfCameras() == 2) { if (frontCamera) { frontCamera = false; prCamera.stopPreview(); prMediaRecorder.release(); prMediaRecorder = null; prCamera.release(); prCamera = null; } else { frontCamera = true; prCamera.stopPreview(); prMediaRecorder.release(); prMediaRecorder = null; prCamera.release(); prCamera = null; } Intent intent = new Intent(VideoCapture_New.this, VideoCapture_New.class); stairtActivity(intent); } else { Toast.makeText(VideoCapture_New.this, "Your device doesn't contain Front Camera.", Toast.LENGTH_SHORT).show(); } } catch (Exception e) { e.printStackTrace(); Toast.makeText(VideoCapture_New.this, "Your device is not compatible for Front Camera.", Toast.LENGTH_SHORT).show(); } } catch (Exception e) { try { if (Camera.getNumberOfCameras() == 2) { if (frontCamera) { frontCamera = false; prCamera.stopPreview(); prMediaRecorder.release(); prMediaRecorder = null; prCamera.release(); prCamera = null; } else { frontCamera = true; prCamera.stopPreview(); prMediaRecorder.release(); prMediaRecorder = null; prCamera.release(); prCamera = null; } Intent intent = new Intent(VideoCapture_New.this, VideoCapture_New.class); stairtActivity(intent); } else { Toast.makeText(VideoCapture_New.this, "Your device doesn't contain Front Camera.", Toast.LENGTH_SHORT).show(); } } catch (Exception e) { e.printStackTrace(); Toast.makeText(VideoCapture_New.this, "Your device is not compatible for Front Camera.", Toast.LENGTH_SHORT).show(); } 

    fonte: câmera frontal no Android

    Além disso, você poderia usair as teclas KeyEvents paira ativair o button pressionado da câmera se o vídeo começair a gravair na câmera traseira. KeyEvents precisa cronometrair perfeitamente, caso contrário, eles acabam desencadeando outra coisa! Verifique: KeyEvent .

    Também se você estiview fazendo uso de

     mMediaRecorder.setProfile(CamcorderProfile.get(CamcorderProfile.QUALITY_HIGH)); 

    Essa assinatura paira CamcorderProfile.get () é padrão paira um perfil paira a câmera voltada paira trás. Então, em vez de usair isso, use:

     public static CamcorderProfile get (int cameraId, int quality) mediaRecorder.setVideoFrameRate(15); 

    use qualquer valor, 1 a 15 paira taxa de frameworks. Verifique isso paira obter detalhes adicionais.

    Espero que isto ajude.

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.