在android mediarecorder设置或camprofile调整中记录Webm格式?

时间:2015-04-07 04:06:02

标签: android mediarecorder android-mediarecorder webm vp8

这看起来似乎是一个愚蠢的问题,我整晚都在努力工作,无法通过我的手机录制网络视频。

    mMediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
    mMediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);

    mMediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.WEBM);

    //mMediaRecorder.setOutputFormat(outFormat);

    //CamcorderProfile camPro = CamcorderProfile.get(CamcorderProfile.QUALITY_TIME_LAPSE_480P);
    //camPro.fileFormat = MediaRecorder.OutputFormat.WEBM;
    //camPro.videoFrameRate = 30;
    mMediaRecorder.setCaptureRate(30f);
    //camPro.videoFrameWidth = 360;
    //camPro.videoFrameHeight = 640;
    //camPro.videoBitRate = 2000000;
    //camPro.audioCodec = MediaRecorder.AudioEncoder.VORBIS;

    mMediaRecorder.setVideoSize(640,360);
    mMediaRecorder.setVideoEncodingBitRate(2000000);

    mMediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.VORBIS);
    mMediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.VP8);
    //camPro.videoCodec = MediaRecorder.VideoEncoder.VP8;
    mMediaRecorder.setVideoFrameRate(30);
    //mMediaRecorder.setProfile(camPro);

我评论了摄像机配置文件行,因为我想只需要使用一行。我还看到一条说明它需要API级别21的说明,所以我在我的moto G上使用棒棒糖5.0.2。

我得到的错误是Camera death 100错误。 有时媒体recorder.prepare()会发生但媒体recorder.start()会抛出错误。 我很困惑应该做些什么。一旦我没有错误。但是我只有一个6.19KB的文件无法播放。

1 个答案:

答案 0 :(得分:0)

我无法判断您是否想要写入文件或Socket或者是什么。但是如果你想要写一个Socket,那么Lollipop似乎就有问题了。您必须使用此技术写入Socket。

然而,在前两个数据包之后,WEBM似乎停止为我传输数据。我目前不确定为什么会这样。

Anyone Have MediaRecorder Working with ParcelFileDescriptor and createPipe()?