es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para lograr los resultados deseados, debes utilizar la clase MediaRecorder en conjunto con SurfaceView. Para grabar tanto el video como la vista previa en un solo video, sigue los siguientes pasos:

    1. Inicializa la clase MediaRecorder:
    MediaRecorder recorder = new MediaRecorder();
    
    1. Configura los parámetros para MediaRecorder:
    recorder.setVideoSource(MediaRecorder.VideoSource.SURFACE);
    recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
    recorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
    recorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264);
    recorder.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT);
    recorder.setVideoEncodingBitRate(512 * 1000);
    recorder.setVideoFrameRate(30);
    recorder.setVideoSize(640, 480);
    recorder.setOutputFile(outputFilePath);
    
    1. Configura el SurfaceView para la grabación de video:
    SurfaceHolder surfaceHolder = surfaceView.getHolder();
    surfaceHolder.setFixedSize(videoWidth, videoHeight);
    surfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
    
    1. Inicializa el grabador y comienza la grabación:
    recorder.prepare();
    recorder.start();
    
    1. Detén la grabación y libera los recursos:
    recorder.stop();
    recorder.release();
    

    Ten en cuenta que outputFilePath es la ruta donde deseas guardar el video grabado. También debes manejar las excepciones en tiempo de ejecución como IOException e IllegalStateException para una mejor experiencia de usuario.

Comments are closed.