2014-10-25 4 views
5

글래스 gdk를 사용하여 오디오를 녹음하려고하는데 아주 문제가 있습니다.Google Glass에 오디오 녹음하기

미디어 레코더를 사용하고 있으며 모든 권한이 있지만 미디어 레코더 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(); 

이있다하는 것은 내가 안드로이드 폰에 동일한 코드를 실행하고 제대로 오디오를 기록 된대로 구글 유리 함께 할 수있는 뭔가합니다. 미디어 레코더를 사용하여 유리에 오디오 만 녹음하는 방법에 대한 정보는 거의 찾을 수 없지만 대부분의 게시물은 비디오 및 오디오를 녹음하는 사람들이지만 비디오에는 관심이 없습니다.

Google Glass에서 오디오를 레코딩하는 방법을 배우는 데 큰 도움이됩니다.

+0

나는 이것들을 보지 못했다. –

답변

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

방금 ​​XE22 Glass의 최신 GDK를 타겟으로 한 몰입 형 활동에서 이것을 테스트했습니다. 원래 코드로 본 것은 코덱 문제를 제안하는 로그캣 메시지입니다. 이 코덱과 컨테이너의 조합은 작동하며 오디오 파일을 검색하여 노트북에서 다시 재생할 수있었습니다.

+0

나는 AAC에 기록 할 수 있다는 것을 알았지 만, AMR에 기록하려고합니다. 이상한 점은 무엇입니까? https://code.google.com/p/google-glass-api/issues/detail?id=317 개발자 중 한 명이 AMR이 기본 인코더라고 게시합니다. 내가 해결하려고 노력하는 것은 그것이 왜 효과가 없는지입니다. – WillEllis

+0

이제 유리에서만 AAC 만 지원할 수도 있습니다.이 경우 답변이 정확합니다. 비록 누군가가 AMR로 녹음하는 법을 배운다면 매우 흥미로울 것입니다. – WillEllis

+0

AMR 형식이 아닌, 유리에 "오디오 녹음 방법"에 대한 질문이 있지만 이해합니다. AMR은 사양에 따라 Glass에서 작동해야하지만 다른 Android 기기에서도 거의 사용되지 않습니다. 예로 [this post] (http://stackoverflow.com/questions/12362918/android-reliable-audio-recording-all-devices)를 참조하십시오. Glass에서의 AMR 인코딩 부족은 버그이거나 문서화되지 않은 제한 사항입니다. –