2014-10-25 23 views
5

Próbuję nagrać dźwięk za pomocą szklanego gdk i mam problem.Nagrywanie dźwięku w Google Glass

Używam rejestratora multimediów i mam wszystkie odpowiednie uprawnienia, ale nadal otrzymuję błędy 100 rejestratora multimediów. Mój kod wygląda mniej więcej tak:

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(); 

To musi być coś zrobić z Google Glass, jak mam wykonać dokładnie ten sam kod na telefonie z Androidem i nagrany dźwięk poprawnie. Potrafię znaleźć bardzo niewiele zasobów na temat korzystania z nagrywarki, aby nagrywać tylko dźwięki na szkle, większość postów widziałem ludzi nagrywających wideo i audio, podczas gdy ja nie jestem zainteresowany wideo.

Każda pomoc dotycząca sposobu nagrywania dźwięku w Google Glass byłaby bardzo doceniana!

+0

Widziałem to kilka razy bez zadawalających odpowiedzi. –

Odpowiedz

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

Właśnie przetestowałem to we wciągającej akcji skierowanej na najnowsze GDK na szkle XE22. To, co widziałem z twoim oryginalnym kodem, zawierało mnóstwo natywnych wiadomości logcat sugerujących problemy z kodekiem. Ta kombinacja kodeków i kontenera działa i udało mi się pobrać plik audio i odtworzyć go na swoim notebooku.

+0

Zauważyłem, że mogę go nagrać w AAC, jednak próbuję nagrywać w AMR. Dziwne jest tutaj: https://code.google.com/p/google-glass-api/issues/detail?id=317 jeden z programistów pisze, że AMR jest domyślnym koderem. Próbuję zrozumieć, dlaczego to nie działa. – WillEllis

+0

Możliwe, że teraz obsługują tylko AAC na szkle, w takim przypadku odpowiedź jest prawidłowa. Byłbym bardzo zainteresowany, aby dowiedzieć się, czy ktokolwiek wypracował sposób nagrywania w AMR – WillEllis

+0

Rozumiem, chociaż twoje pytanie brzmiało "jak nagrywać audio" na szkle, niekoniecznie tylko w formacie AMR. Mimo że AMR powinien działać na szkle zgodnie ze specyfikacją, rzadko utrzymuje się nawet na innych urządzeniach z Androidem. Zobacz [ten post] (http://stackoverflow.com/questions/12362918/android-reliable-audio-recording-all-devices) jako przykład. Brak kodowania AMR na szkle jest albo błędem, albo nieudokumentowanym ograniczeniem, imo. –

Powiązane problemy