Android MediaRecorder示例不工作

Android MediaRecorder示例不工作,android,android-camera,android-mediarecorder,Android,Android Camera,Android Mediarecorder,我下载了这个示例,但它不起作用(在htc one V4.0.3上测试) 日志: com.example.android.mediarecorder D/dalvikvm﹕ 延迟启用CheckJNI com.example.android.mediarecorder D/libEGL﹕ loaded/system/lib/egl/libGLES_android.so com.example.android.mediarecorder D/libEGL﹕ 已加载/system/lib/egl/lib

我下载了这个示例,但它不起作用(在htc one V4.0.3上测试)

日志:

com.example.android.mediarecorder D/dalvikvm﹕ 延迟启用CheckJNI
com.example.android.mediarecorder D/libEGL﹕ loaded/system/lib/egl/libGLES_android.so
com.example.android.mediarecorder D/libEGL﹕ 已加载/system/lib/egl/libEGL_adreno200.so
com.example.android.mediarecorder D/libEGL﹕ loaded/system/lib/egl/libGLESv1_CM_adreno200.so
com.example.android.mediarecorder D/libEGL﹕ loaded/system/lib/egl/libGLESv2_adreno200.so
com.example.android.mediarecorder I/Adreno200 EGLSUB﹕ : 格式为RGBA_8888。
com.example.android.mediarecorder D/OpenGLRenderer﹕ 正在启用调试模式0
com.example.android.mediarecorder D/OpenGLRenderer﹕ 已生成渲染修补程序
com.example.android.mediarecorder V/MediaProfiles﹕ getCamcorderProfileParamByName:相机0的持续时间,质量1
com.example.android.mediarecorder V/MediaProfiles﹕ getCamcorderProfileParamByName:摄像机0的file.format,质量1
com.example.android.mediarecorder V/MediaProfiles﹕ getCamcorderProfileParamByName:摄像机0的vid.codec,质量1
com.example.android.mediarecorder V/MediaProfiles﹕ getCamcorderProfileParamByName:摄像机0的vid.bps,质量1
com.example.android.mediarecorder V/MediaProfiles﹕ getCamcorderProfileParamByName:摄像机0的vid.fps,质量1
com.example.android.mediarecorder V/MediaProfiles﹕ getCamcorderProfileParamByName:摄像机0的vid.width,质量1
com.example.android.mediarecorder V/MediaProfiles﹕ getCamcorderProfileParamByName:摄像机0的vid.height,质量1
com.example.android.mediarecorder V/MediaProfiles﹕ getCamcorderProfileParamByName:aud.codec用于相机0,质量为1
com.example.android.mediarecorder V/MediaProfiles﹕ getCamcorderProfileParamByName:aud.bps用于相机0,质量1
com.example.android.mediarecorder V/MediaProfiles﹕ getCamcorderProfileParamByName:aud.hz用于相机0,质量1
com.example.android.mediarecorder V/MediaProfiles﹕ getCamcorderProfileParamByName:aud.ch用于相机0,质量1
com.example.android.mediarecorder V/MediaRecorderJNI﹕ 设置
com.example.android.mediarecorder V/mediarecorder﹕ 建造师
com.example.android.mediarecorder V/mediarecorder﹕ doCleanUp
com.example.android.mediarecorder V/mediarecorder﹕ 设置侦听器
com.example.android.mediarecorder V/MediaRecorderJNI﹕ setMediaRecorder E:mr=mr
com.example.android.mediarecorder V/MediaRecorderJNI﹕ setMediaRecorder X
com.example.android.mediarecorder V/MediaRecorderJNI﹕ getMediaRecorder E
com.example.android.mediarecorder V/MediaRecorderJNI﹕ JNIMediaRecorderListener::setCamera
com.example.android.mediarecorder V/mediarecorder﹕ 设置摄像头(0x1375740,0x139eaf8)
com.example.android.mediarecorder V/MediaRecorderJNI﹕ 处理\媒体\录音机\呼叫
com.example.android.mediarecorder V/MediaRecorderJNI﹕ 设置音频源(0)
com.example.android.mediarecorder V/MediaRecorderJNI﹕ getMediaRecorder E
com.example.android.mediarecorder V/mediarecorder﹕ 设置音频源(0)E
com.example.android.mediarecorder V/mediarecorder﹕ 调用init(),因为媒体记录器尚未初始化
com.example.android.mediarecorder V/mediarecorder﹕ 初始化
com.example.android.mediarecorder V/mediarecorder﹕ 设置音频源(0)X
com.example.android.mediarecorder V/MediaRecorderJNI﹕ 处理\媒体\录音机\呼叫
com.example.android.mediarecorder V/MediaRecorderJNI﹕ 设置视频源(1)
com.example.android.mediarecorder V/MediaRecorderJNI﹕ getMediaRecorder E
com.example.android.mediarecorder V/mediarecorder﹕ SETVIDEOSURCE(1)E
com.example.android.mediarecorder V/mediarecorder﹕ 设置视频源(1)X
com.example.android.mediarecorder V/MediaRecorderJNI﹕ 处理\媒体\录音机\呼叫
com.example.android.mediarecorder V/MediaRecorderJNI﹕ setOutputFormat(2)
com.example.android.mediarecorder V/MediaRecorderJNI﹕ getMediaRecorder E
com.example.android.mediarecorder V/mediarecorder﹕ setOutputFormat(2)E
com.example.android.mediarecorder V/MediaRecorderJNI﹕ 处理\媒体\录音机\呼叫
com.example.android.mediarecorder V/MediaRecorderJNI﹕ 设置视频帧率(30)
com.example.android.mediarecorder V/MediaRecorderJNI﹕ getMediaRecorder E
com.example.android.mediarecorder V/mediarecorder﹕ 设置视频帧率(30)
com.example.android.mediarecorder V/MediaRecorderJNI﹕ 处理\媒体\录音机\呼叫
com.example.android.mediarecorder V/MediaRecorderJNI﹕ setVideoSize(640384)
com.example.android.mediarecorder V/MediaRecorderJNI﹕ getMediaRecorder E
com.example.android.mediarecorder V/mediarecorder﹕ setVideoSize(640384)
com.example.android.mediarecorder V/MediaRecorderJNI﹕ 处理\媒体\录音机\呼叫
com.example.android.mediarecorder V/MediaRecorderJNI﹕ setParameter()
com.example.android.mediarecorder V/MediaRecorderJNI﹕ getMediaRecorder E
com.example.android.mediarecorder V/mediarecorder﹕ 设置参数(视频参数编码比特率=3000000)
com.example.android.mediarecorder V/MediaRecorderJNI﹕ 处理\媒体\录音机\呼叫
com.example.android.mediarecorder V/MediaRecorderJNI﹕ 设置视频编码器(2)
com.example.android.mediarecorder V/MediaRecorderJNI﹕ getMediaRecorder E
com.example.android.mediarecorder V/mediarecorder﹕ 设置视频编码器(2)E
com.example.android.mediarecorder V/mediarecorder﹕ 设置视频编码器(2)X
com.example.android.mediarecorder V/MediaRecorderJNI﹕ 处理\媒体\录音机\呼叫
com.example.android.mediarecorder V/MediaRecorderJNI﹕ setParameter()
com.example.android.mediarecorder V/MediaRecorderJNI﹕ getMediaRecorder E
com.example.android.mediarecorder V/mediarecorder﹕ 设置参数(音频参数编码比特率=12200)
com.example.android.mediarecorder V/MediaRecorderJNI﹕ 处理\媒体\录音机\呼叫
com.example.android.mediarecorder V/MediaRecorderJNI﹕ setParameter()
com.example.android.mediarecorder V/MediaRecorderJNI﹕ getMediaRecorder E
com.example.android.mediarecorder V/mediarecorder﹕ 设置参数(音频参数cha的编号
com.example.android.mediarecorder D/dalvikvm﹕ Late-enabling CheckJNI
com.example.android.mediarecorder D/libEGL﹕ loaded /system/lib/egl/libGLES_android.so
com.example.android.mediarecorder D/libEGL﹕ loaded /system/lib/egl/libEGL_adreno200.so
com.example.android.mediarecorder D/libEGL﹕ loaded /system/lib/egl/libGLESv1_CM_adreno200.so
com.example.android.mediarecorder D/libEGL﹕ loaded /system/lib/egl/libGLESv2_adreno200.so
com.example.android.mediarecorder I/Adreno200-EGLSUB﹕ <ConfigWindowMatch:2078>: Format RGBA_8888.
com.example.android.mediarecorder D/OpenGLRenderer﹕ Enabling debug mode 0
com.example.android.mediarecorder D/OpenGLRenderer﹕ has fontRender patch
com.example.android.mediarecorder V/MediaProfiles﹕ getCamcorderProfileParamByName: duration for camera 0, quality 1
com.example.android.mediarecorder V/MediaProfiles﹕ getCamcorderProfileParamByName: file.format for camera 0, quality 1
com.example.android.mediarecorder V/MediaProfiles﹕ getCamcorderProfileParamByName: vid.codec for camera 0, quality 1
com.example.android.mediarecorder V/MediaProfiles﹕ getCamcorderProfileParamByName: vid.bps for camera 0, quality 1
com.example.android.mediarecorder V/MediaProfiles﹕ getCamcorderProfileParamByName: vid.fps for camera 0, quality 1
com.example.android.mediarecorder V/MediaProfiles﹕ getCamcorderProfileParamByName: vid.width for camera 0, quality 1
com.example.android.mediarecorder V/MediaProfiles﹕ getCamcorderProfileParamByName: vid.height for camera 0, quality 1
com.example.android.mediarecorder V/MediaProfiles﹕ getCamcorderProfileParamByName: aud.codec for camera 0, quality 1
com.example.android.mediarecorder V/MediaProfiles﹕ getCamcorderProfileParamByName: aud.bps for camera 0, quality 1
com.example.android.mediarecorder V/MediaProfiles﹕ getCamcorderProfileParamByName: aud.hz for camera 0, quality 1
com.example.android.mediarecorder V/MediaProfiles﹕ getCamcorderProfileParamByName: aud.ch for camera 0, quality 1
com.example.android.mediarecorder V/MediaRecorderJNI﹕ setup
com.example.android.mediarecorder V/MediaRecorder﹕ constructor
com.example.android.mediarecorder V/MediaRecorder﹕ doCleanUp
com.example.android.mediarecorder V/MediaRecorder﹕ setListener
com.example.android.mediarecorder V/MediaRecorderJNI﹕ setMediaRecorder E: mr = mr
com.example.android.mediarecorder V/MediaRecorderJNI﹕ setMediaRecorder X
com.example.android.mediarecorder V/MediaRecorderJNI﹕ getMediaRecorder E
com.example.android.mediarecorder V/MediaRecorderJNI﹕ JNIMediaRecorderListener::setCamera
com.example.android.mediarecorder V/MediaRecorder﹕ setCamera(0x1375740,0x139eaf8)
com.example.android.mediarecorder V/MediaRecorderJNI﹕ process_media_recorder_call
com.example.android.mediarecorder V/MediaRecorderJNI﹕ setAudioSource(0)
com.example.android.mediarecorder V/MediaRecorderJNI﹕ getMediaRecorder E
com.example.android.mediarecorder V/MediaRecorder﹕ setAudioSource(0) E
com.example.android.mediarecorder V/MediaRecorder﹕ Call init() since the media recorder is not initialized yet
com.example.android.mediarecorder V/MediaRecorder﹕ init
com.example.android.mediarecorder V/MediaRecorder﹕ setAudioSource(0) X
com.example.android.mediarecorder V/MediaRecorderJNI﹕ process_media_recorder_call
com.example.android.mediarecorder V/MediaRecorderJNI﹕ setVideoSource(1)
com.example.android.mediarecorder V/MediaRecorderJNI﹕ getMediaRecorder E
com.example.android.mediarecorder V/MediaRecorder﹕ setVideoSource(1) E
com.example.android.mediarecorder V/MediaRecorder﹕ setVideoSource(1) X
com.example.android.mediarecorder V/MediaRecorderJNI﹕ process_media_recorder_call
com.example.android.mediarecorder V/MediaRecorderJNI﹕ setOutputFormat(2)
com.example.android.mediarecorder V/MediaRecorderJNI﹕ getMediaRecorder E
com.example.android.mediarecorder V/MediaRecorder﹕ setOutputFormat(2) E
com.example.android.mediarecorder V/MediaRecorderJNI﹕ process_media_recorder_call
com.example.android.mediarecorder V/MediaRecorderJNI﹕ setVideoFrameRate(30)
com.example.android.mediarecorder V/MediaRecorderJNI﹕ getMediaRecorder E
com.example.android.mediarecorder V/MediaRecorder﹕ setVideoFrameRate(30)
com.example.android.mediarecorder V/MediaRecorderJNI﹕ process_media_recorder_call
com.example.android.mediarecorder V/MediaRecorderJNI﹕ setVideoSize(640, 384)
com.example.android.mediarecorder V/MediaRecorderJNI﹕ getMediaRecorder E
com.example.android.mediarecorder V/MediaRecorder﹕ setVideoSize(640, 384)
com.example.android.mediarecorder V/MediaRecorderJNI﹕ process_media_recorder_call
com.example.android.mediarecorder V/MediaRecorderJNI﹕ setParameter()
com.example.android.mediarecorder V/MediaRecorderJNI﹕ getMediaRecorder E
com.example.android.mediarecorder V/MediaRecorder﹕ setParameters(video-param-encoding-bitrate=3000000)
com.example.android.mediarecorder V/MediaRecorderJNI﹕ process_media_recorder_call
com.example.android.mediarecorder V/MediaRecorderJNI﹕ setVideoEncoder(2)
com.example.android.mediarecorder V/MediaRecorderJNI﹕ getMediaRecorder E
com.example.android.mediarecorder V/MediaRecorder﹕ setVideoEncoder(2) E
com.example.android.mediarecorder V/MediaRecorder﹕ setVideoEncoder(2) X
com.example.android.mediarecorder V/MediaRecorderJNI﹕ process_media_recorder_call
com.example.android.mediarecorder V/MediaRecorderJNI﹕ setParameter()
com.example.android.mediarecorder V/MediaRecorderJNI﹕ getMediaRecorder E
com.example.android.mediarecorder V/MediaRecorder﹕ setParameters(audio-param-encoding-bitrate=12200)
com.example.android.mediarecorder V/MediaRecorderJNI﹕ process_media_recorder_call
com.example.android.mediarecorder V/MediaRecorderJNI﹕ setParameter()
com.example.android.mediarecorder V/MediaRecorderJNI﹕ getMediaRecorder E
com.example.android.mediarecorder V/MediaRecorder﹕ setParameters(audio-param-number-of-channels=1)
com.example.android.mediarecorder V/MediaRecorderJNI﹕ process_media_recorder_call
com.example.android.mediarecorder V/MediaRecorderJNI﹕ setParameter()
com.example.android.mediarecorder V/MediaRecorderJNI﹕ getMediaRecorder E
com.example.android.mediarecorder V/MediaRecorder﹕ setParameters(audio-param-sampling-rate=8000)
com.example.android.mediarecorder V/MediaRecorderJNI﹕ process_media_recorder_call
com.example.android.mediarecorder V/MediaRecorderJNI﹕ setAudioEncoder(1)
com.example.android.mediarecorder V/MediaRecorderJNI﹕ getMediaRecorder E
com.example.android.mediarecorder V/MediaRecorder﹕ setAudioEncoder(1) E
com.example.android.mediarecorder V/MediaRecorder﹕ setAudioEncoder(1) X
com.example.android.mediarecorder V/MediaRecorderJNI﹕ process_media_recorder_call
com.example.android.mediarecorder V/MediaRecorderJNI﹕ setOutputFile
com.example.android.mediarecorder V/MediaRecorderJNI﹕ getMediaRecorder E
com.example.android.mediarecorder V/MediaRecorder﹕ setOutputFile(55, 0, 0)
com.example.android.mediarecorder V/MediaRecorderJNI﹕ process_media_recorder_call
com.example.android.mediarecorder V/MediaRecorderJNI﹕ prepare
com.example.android.mediarecorder V/MediaRecorderJNI﹕ getMediaRecorder E
com.example.android.mediarecorder V/MediaRecorder﹕ prepare E
com.example.android.mediarecorder V/MediaRecorder﹕ prepare X
com.example.android.mediarecorder V/MediaRecorderJNI﹕ process_media_recorder_call
com.example.android.mediarecorder V/MediaRecorderJNI﹕ start
com.example.android.mediarecorder V/MediaRecorderJNI﹕ getMediaRecorder E
com.example.android.mediarecorder V/MediaRecorder﹕ start E
com.example.android.mediarecorder V/MediaRecorder﹕ start X
com.example.android.mediarecorder V/MediaRecorderJNI﹕ process_media_recorder_call
com.example.android.mediarecorder W/IMediaDeathNotifier﹕ media server died
com.example.android.mediarecorder W/Camera﹕ Camera server died!
com.example.android.mediarecorder W/Camera﹕ ICamera died
com.example.android.mediarecorder V/MediaRecorder﹕ died
com.example.android.mediarecorder V/MediaRecorder﹕ message received msg=1, ext1=100, ext2=0
com.example.android.mediarecorder V/MediaRecorder﹕ callback application
com.example.android.mediarecorder V/MediaRecorderJNI﹕ JNIMediaRecorderListener::notify
com.example.android.mediarecorder V/MediaRecorderJNI﹕ notify msgType 0x1, ext1 0x64
com.example.android.mediarecorder V/MediaRecorder﹕ back from callback
com.example.android.mediarecorder E/Camera﹕ Error 100
MediaRecorder mediaRecorder = new MediaRecorder(); 
mediaRecorder.setAudioSource(MediaRecorder.AudioSource.DEFAULT); 
mediaRecorder.setVideoSource(MediaRecorder.VideoSource.DEFAULT);
 CamcorderProfile camcorderProfile_HQ = CamcorderProfile.get(CamcorderProfile.QUALITY_HIGH);
mediaRecorder.setProfile(camcorderProfile_HQ);
 mediaRecorder.setOutputFile("/sdcard/myvideo.mp4");
 mediaRecorder.setMaxDuration(60000); // Set max duration 60 sec. 
mediaRecorder.setMaxFileSize(5000000); // Set max file size 5M
<uses-feature android:name="android.hardware.camera" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission
  android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />

<uses-permission android:name="android.permission.RECORD_AUDIO" />

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />