gpt4 book ai didi

android - 我怎样才能在 android 上拥有高质量的录像机和录音机?

转载 作者:行者123 更新时间:2023-11-30 03:10:32 25 4
gpt4 key购买 nike

你好 stackoverflow 的 friend 们。我是 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();
}


}

我还有一个录音机,它的质量也很差。我也为高质量的 voide 录音机做了什么?

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上讨论的很好请引用这个link了解配置文件

还有这个link也有帮助。希望对您有所帮助,祝您编码愉快!欢迎来到 stackoverflow 社区!

关于android - 我怎样才能在 android 上拥有高质量的录像机和录音机?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21063364/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com