在Google Glass上录制音频

时间:2014-10-25 15:17:23

标签: android google-glass google-gdk

我正在尝试使用glass gdk录制音频,并发现它很有问题。

我正在使用媒体录制器并拥有所有正确的权限,但我不断收到介质录制器100错误。 我的代码看起来像这样:

mMediaRecorder = new MediaRecorder();
mMediaRecorder.setOnErrorListener(new MediaRecorder.OnErrorListener() {
            public void onError(MediaRecorder mediarecorder1, int k, int i1) {
                Log.e(TAG, String.format("Media Recorder error: k=%d, i1=%d", k, i1));
            }
});
mMediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
mMediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.AMR_NB);
mMediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
mMediaRecorder.setOutputFile(mAudioFile.getAbsolutePath());

mMediaRecorder.prepare();
mMediaRecorder.start();

这必须与谷歌眼镜有关,因为我在Android手机上运行完全相同的代码并且它正确录制了音频。 我发现很少有关于使用媒体记录器只在玻璃上录制音频的资源,我见过的大多数帖子都是录制视频和音频的人,而我对视频不感兴趣。

任何有关如何在Google Glass上录制音频的帮助都将非常感谢!

1 个答案:

答案 0 :(得分:2)

mMediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
mMediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
mMediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);

我刚刚在针对XE22 Glass上的最新GDK的沉浸式活动中对此进行了测试。我在原始代码中看到的是一堆本机logcat消息,表明编解码器问题。编解码器和容器的这种组合确实有效,我能够检索音频文件并在我的笔记本上播放。