相关疑难解决方法(0)

MediaRecorder.stop()停止失败:-1007

我正在使用MediaRecorder录制视频.我的代码在2.3.3上工作正常但在4.0.3上失败.

问题如下:代码mediaRecorder.stop()抛出RuntimeExeption

java.lang.RuntimeException: stop failed.
    at android.media.MediaRecorder.stop(Native Method)
Run Code Online (Sandbox Code Playgroud)

使用LogCat消息

04-05 15:10:51.815: E/MediaRecorder(15709): stop failed: -1007
Run Code Online (Sandbox Code Playgroud)

UPDATE

我发现,MediaPlayer几乎在启动后立即报告错误(通过MediaPlayer.OnErrorListener).错误代码为100(媒体服务器死机),额外-1007.

更新2准备MediaRecorder的代码

            c = Camera.open();

    ...

    // Step 1: Unlock and set camera to MediaRecorder
    camera.unlock();
    mediaRecorder.setCamera(camera);

    // Step 2: Set sources
    mediaRecorder.setAudioSource(MediaRecorder.AudioSource.CAMCORDER);
    mediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);

    // Step 3: Set a CamcorderProfile (requires API Level 8 or higher)
    CamcorderProfile profile = CamcorderProfile
            .get(CamcorderProfile.QUALITY_HIGH);

    // manual set up!

    mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);

    mediaRecorder.setVideoEncodingBitRate(profile.videoBitRate);
    mediaRecorder.setVideoFrameRate(profile.videoFrameRate);
    mediaRecorder.setVideoSize(profile.videoFrameWidth,
            profile.videoFrameHeight);

    mediaRecorder.setAudioChannels(profile.audioChannels);
    mediaRecorder.setAudioEncodingBitRate(profile.audioBitRate);
    mediaRecorder.setAudioSamplingRate(profile.audioSampleRate);

    mediaRecorder.setAudioEncoder(profile.audioCodec);
    //mediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.MPEG_4_SP);
    mediaRecorder.setVideoEncoder(profile.videoCodec);

    // mediaRecorder.setProfile(profile);

    // Step 4: Set output file …
Run Code Online (Sandbox Code Playgroud)

android video-capture mediarecorder android-mediarecorder

28
推荐指数
2
解决办法
2万
查看次数

W/IMediaDeathNotifier:媒体服务器死了

我正在尝试使用Google Glass MIC录制音频,但我一直收到W/IMediaDeathNotifier:媒体服务器死机错误.思考?

它应该在第一次触摸时开始录制并在第二次触摸时停止,但是第一次单击时会发生错误.

package com.google.android.glass.sample.charades;

import android.media.MediaRecorder;
import java.io.IOException;
import android.util.Log;
import android.os.Environment;

public class SlideshowActivity extends Activity {

    private static final String LOG_TAG = "AudioRecordTest";
    private MediaRecorder mRecorder = null;
    private static String mFileName = Environment.getExternalStorageDirectory().getAbsolutePath() + "/audiorecordtest.3gp";
    private boolean recording = false;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_slideshow);

        mGestureDetector = new GestureDetector(this).setBaseListener(mBaseListener);

    }

    private void startRecording() {
        mRecorder = new MediaRecorder();
        mRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
        mRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
        mRecorder.setOutputFile(mFileName);
        mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT);

        Log.e(LOG_TAG, "File name: " + mFileName);

        try { …
Run Code Online (Sandbox Code Playgroud)

audio google-glass google-gdk

1
推荐指数
1
解决办法
3695
查看次数