繁体   English   中英

如何在Android上安装高质量的录像机和录音机?

[英]how can I have a high quality video recorder and audio recorder on android?

您好stackoverflow的朋友。 我是android的新手,并且具有以下用于捕获视频的代码。 但这在手机上质量很差(特别是在Android 4.2版上质量非常非常低)。 我需要更高质量的视频捕获,但我不知道其他属性。 我如何拥有高质量的录像机?

    protected void startRecording() throws IOException 
    {

     mCamera.stopPreview();
     mCamera.unlock();
     mrec = new MediaRecorder();  
     mrec.setCamera(mCamera);   
     mrec.setAudioSource(MediaRecorder.AudioSource.MIC);
     mrec.setVideoSource(MediaRecorder.VideoSource.CAMERA);
     mrec.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
     mrec.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
     mrec.setVideoEncoder(MediaRecorder.VideoEncoder.MPEG_4_SP);
     mrec.setOutputFile(Videopath);
     mrec.setPreviewDisplay(surfaceHolder.getSurface());   
     mrec.prepare();
     isRecording=true;
     mrec.start();
    }
    //-------------------------------------------------------------
    protected void stopRecording() 
    {

        releaseOnExit();
         mCamera = Camera.open();
         mCamera.lock();  
         surfaceView = (SurfaceView) findViewById(R.id.surface_camera);
         surfaceHolder = surfaceView.getHolder();
         surfaceHolder.addCallback(this);
         surfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);

         Parameters params = mCamera.getParameters();
        mCamera.setParameters(params);
        mCamera.setDisplayOrientation(90);
        try {
            mCamera .setPreviewDisplay(surfaceHolder);
        } 
        catch (IOException e) 
        {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        mCamera .startPreview();
        btnlistToggle.setEnabled(true);
    }
 //-------------------------------------------------------------
    @Override
    public void surfaceCreated(SurfaceHolder holder) 
    {

         if (mCamera != null)
           {
              Parameters params = mCamera.getParameters();
              mCamera.setParameters(params);
              mCamera.setDisplayOrientation(90);
              try {
                mCamera .setPreviewDisplay(holder);
            } 
              catch (IOException e) 
              {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
              mCamera .startPreview();

           }
           else
           {
              Toast.makeText(getApplicationContext(), "Camera not available!", Toast.LENGTH_LONG).show();
             VideoRecorderActivity.this.finish();
           }


    }

我也有一个录音机,它的质量也很低。 我也要为高质量的void记录仪做什么?

public void Record() throws IOException 
        {

            recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
            recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
            recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
            recorder.setOutputFile(this.path); 

            try 
            {
               recorder.prepare();
            } 
            catch (IllegalStateException e) 
            {
                e.printStackTrace();
            } 
            catch (IOException e) 
            {
                e.printStackTrace();
            }
            try 
            {

                recorder.start();
            } 
            catch (Exception e) 
            {
            }

        }

关于stackoverflow的详细讨论,请参考此链接以了解配置文件

而且此链接也可能会有所帮助。 希望对您有所帮助,并祝您编程愉快! 欢迎来到stackoverflow社区!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM