【问题标题】:Android - Prepare Media Recorder FailedAndroid - 准备媒体记录器失败
【发布时间】:2012-10-03 03:32:51
【问题描述】:

我正在尝试做一些简单的事情,无需预览即可录制音频和视频。

这是我的代码:

MediaRecorder mediaRecorder = new MediaRecorder();

// Configure the input sources
mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
mediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);

// Set the output format
mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.DEFAULT);

// Specify the audio and video encoding        
mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT);
mediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.DEFAULT);

    //Specify the outputfile
    mediaRecorder.setOutputFile("/sdcard/Video/myoutputfile.mp4");

mediaRecorder.start();

In the AndroidManisfest.xml:
<user-permission android:name="android.permission.RECORD_AUDIO" />
<user-permission android:name="android.permission.RECORD_VIDEO" />

这会在应用程序启动时停止它。

有人有什么想法吗?

【问题讨论】:

  • 别忘了
  • 错字:'user-permission' 应该是 'uses-permission'。 :-)

标签: android camera android-mediarecorder


【解决方案1】:

在开始记录之前尝试调用它;

mediaRecorder.prepare();

另外,请记住,在调用 prepare 之前,您必须设置了一些必要的“功能”。 这似乎是您缺少的一些方法;

setPreviewDisplay();
setMaxDuration((int) #); 
setOnInfoListener();
setVideoSize(#, #); 
setVideoFrameRate(15); 

【讨论】:

  • 我又试了一次,还是一样的错误,应用在启动前就崩溃了!
  • 我在 Galaxy Nexus 中测试这个事实有什么问题吗?安卓 4.1.1。我读到这段代码在 android 2.3 或更高版本中不起作用。
  • 你能编辑你的堆栈跟踪吗?我用一些奇怪的设置让它在我的 Galaxy Nexus 上工作,但是我记得我的 Galaxy Nexus 与 MediaRecorder 类崩溃了很多! (大惊喜,因为它应该是使用 google api 的 google 支持的手机?哈哈)使用我的“特殊”设置对我来说从来没有用过,因为显然它只能在我的关系上工作,而其他手机会有问题 :(
  • 所以,这仍然无法在 nexus 上使用,但在旧设备中,它很棒,使用我忘记的方法。对于银河系,试试这个:android-er.blogspot.com.br/2011/10/…为我工作(:
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多