我想录制没有声音的原始h.264视频,并可能使用硬件加速(稍后进行流传输)。因此,我决定使用MediaRecorder
(以及套接字hack进行流传输)。
我有以下代码:
final MediaRecorder recorder = new MediaRecorder();
final Camera camera = Camera.open();
camera.unlock();
recorder.setCamera(camera);
recorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);
recorder.setOutputFormat(MediaRecorder.OutputFormat.DEFAULT);
recorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264);
final CamcorderProfile profile = CamcorderProfile.get(CamcorderProfile.QUALITY_LOW);
recorder.setVideoSize(profile.videoFrameWidth, profile.videoFrameHeight);
recorder.setVideoFrameRate(profile.videoFrameRate);
recorder.setVideoEncodingBitRate(profile.videoBitRate);
recorder.prepare();
recorder.start();
然后,就在logcat中看到了这个:
E/MediaRecorder﹕ start failed: -38
我开始谷歌搜索,发现有很多相关问题和答案,但没有关于我的错误代码-38
的。
所以我尝试查看Android 源代码,并注意到它是一个本地方法,而我不知道在哪里查找。
因此,我有一个重要问题:是否有一些这些错误代码的列表,让我可以找到错误-38
的含义?
还请注意,我正在针对API 10(姜饼)进行目标设置,并使用最新的SDK 21进行构建。