首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安卓MediaRecorder属性

安卓MediaRecorder属性
EN

Stack Overflow用户
提问于 2013-03-10 08:24:39
回答 1查看 2.2K关注 0票数 3

在使用MediaRecorder时,我正在尝试减小视频文件的大小,因为我将通过网络流式传输视频。

这是我所拥有的

代码语言:javascript
复制
private boolean prepareMediaRecorder(){
        myCamera = getCameraInstance();
        mediaRecorder = new MediaRecorder();

        myCamera.unlock();
        mediaRecorder.setCamera(myCamera);

        mediaRecorder.setAudioSource(MediaRecorder.AudioSource.CAMCORDER);
        mediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);

        mediaRecorder.setProfile(CamcorderProfile.get(CamcorderProfile.QUALITY_LOW));       
        mediaRecorder.setOutputFile("/sdcard/myvideo.mp4");
        mediaRecorder.setMaxDuration(60000); // Set max duration 60 sec.
        mediaRecorder.setMaxFileSize(5000000); // Set max file size 5M

        mediaRecorder.setPreviewDisplay(myCameraSurfaceView.getHolder().getSurface());

        try {
            mediaRecorder.prepare();
        } catch (IllegalStateException e) {
            releaseMediaRecorder();
            return false;
        } catch (IOException e) {
            releaseMediaRecorder();
            return false;
        }
        return true;

    }

CamcorderProfile.QUALITY_LOW代码行似乎有很大的不同,但我所做的其他任何事情都没有任何影响。我尝试使用setVideoFrameRate和setCaptureRate来降低帧率,两者都没有影响(不确定两者之间的区别)。我试图通过注释掉setAudioSource行来禁用音频源(我不需要音频),但是抛出了一个错误消息"E/MediaRecorder(7934):尝试设置音频编码器而不先设置音频源“。文档显示“如果不调用此方法,输出文件将不包含音轨”。

我应该设置哪些参数才能使文件大小尽可能小?

EN

回答 1

Stack Overflow用户

发布于 2013-03-11 04:48:52

我想通了。代码行..。

代码语言:javascript
复制
mediaRecorder.setProfile(CamcorderProfile.get(CamcorderProfile.QUALITY_LOW));

设置输出格式和视频编码器以及音频。这使您可以将文件大小大大减小。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15317520

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档