как я могу иметь высококачественный видеомагнитофон и аудиомагнитофон на 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();
           }


    }

Также у меня есть диктофон, который тоже имеет очень низкое качество. что я делаю для рекордера более высокого качества?

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) 
            {
            }

        }

person sarah    schedule 11.01.2014    source источник


Ответы (1)


Это хорошо обсуждается в stackoverflow. Пожалуйста, обратитесь к этому ссылка, чтобы узнать о профилях

И эта ссылка также может быть полезной. Я надеюсь, что это поможет и счастливого кодирования! Добро пожаловать в сообщество stackoverflow!

person Bipin Bhandari    schedule 11.01.2014
comment
вы мне очень помогли. но вопрос: размер видео имеет отношение к качеству? как? - person sarah; 11.01.2014
comment
Чем выше размер, тем выше плотность пикселей, что означает лучшее отображение деталей. Если это сложно, маленькое изображение четкое или большое? Поскольку видео является движущимся изображением, это тот же случай. Удачи! - person Bipin Bhandari; 11.01.2014