android mediarecoder保存空文件

前端之家收集整理的这篇文章主要介绍了android mediarecoder保存空文件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
这是我用来以MP4格式记录来自 Android设备的视频的代码.正在创建文件,但大小为0字节.我似乎不明白出了什么问题.任何帮助将不胜感激.
if(mCamera == null) {
        mCamera = Camera.open();
        mCamera.unlock();
    }

    if(mediaRecorder == null)
        mediaRecorder = new MediaRecorder();


    mediaRecorder.setCamera(mCamera);

    mediaRecorder.setCamera(mCamera);
    mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
    mediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);

    mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);

    mediaRecorder.setMaxDuration(maxDurationInMs);


    mediaRecorder.setOutputFile("/sdcard/1.mp4");

    mediaRecorder.setVideoFrameRate(videoFramesPerSecond);
    mediaRecorder.setVideoSize(176,144);

    mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT);
    mediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.MPEG_4_SP);

    mediaRecorder.setPreviewDisplay(surface);

    mediaRecorder.setMaxFileSize(maxFileSizeInBytes);

                mediaRecorder.prepare();        
    try {
        mediaRecorder.prepare();
    } catch (IllegalStateException e) {
        // This is thrown if the prevIoUs calls are not called with the 
        // proper order
        e.printStackTrace();
    }

            mediaRecorder.start();

解决方法

这种行为的原因是你完成录音后可能(95%肯定)再次调用recorder.setOutputFile()(也许是在recorder.stop()之后).因此旧文件正被新的空文件重写.
原文链接:https://www.f2er.com/android/316907.html

猜你在找的Android相关文章