2014-10-25 8 views
5

Ich versuche Audio mit dem Glas gdk aufzunehmen und finde es ziemlich problematisch.Aufnahme von Audio auf Google Glass

Ich benutze Media Recorder und habe alle die richtigen Berechtigungen, aber ich bekomme immer Media Recorder 100 Fehler. Mein Code sieht ungefähr so ​​aus:

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

Das hat mit dem Google Glass zu tun, etwas zu sein, wie ich genau dem gleichen Code auf einem Android-Handy laufen habe und es aufgezeichnetes Audio richtig. Ich kann sehr wenige Quellen über die Verwendung von Medienrekorder finden, um nur Audio auf Glas aufzunehmen, die meisten Posts, die ich gesehen habe, sind Leute, die Video und Audio aufnehmen, während ich nicht an Video interessiert bin.

Jede Hilfe herauszufinden, wie ich Recorder Audio auf Google Glass würde sehr geschätzt werden!

+0

Ich habe gesehen, dass dies eine Reihe von Zeiten ohne anständige Antworten noch gefragt. –

Antwort

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

Ich habe dies gerade in einer immersiven Aktivität getestet, die auf die neueste GDK auf einem XE22-Glas abzielt. Was ich mit Ihrem ursprünglichen Code gesehen habe, war eine Reihe von nativen Logcat-Nachrichten, die auf Codec-Probleme hinweisen. Diese Kombination aus Codec und Container funktioniert und ich konnte die Audiodatei abrufen und auf meinem Notebook wiedergeben.

+0

Ich hatte bemerkt, dass ich es in AAC aufnehmen konnte, aber ich versuche in AMR aufzunehmen. Was ist seltsam ist hier: https://code.google.com/p/google-glass-api/issues/detail?id=317 einer der Entwickler Beiträge, dass AMR ist der Standard-Encoder. Ich versuche herauszufinden, warum das nicht funktioniert. – WillEllis

+0

Es kann sein, dass sie jetzt nur AAC auf Glas unterstützen, in diesem Fall ist Ihre Antwort richtig. Ich wäre sehr interessiert zu wissen, wenn jemand herausgefunden hat, wie man in AMR – WillEllis

+0

aufnehmen, verstehe ich, obwohl Ihre Frage war, wie Audio auf dem Glas, nicht unbedingt nur im AMR-Format. Obwohl AMR nach der Spezifikation mit Glass funktionieren sollte, hält es selbst auf anderen Android-Geräten selten stand. Sehen Sie [diesen Beitrag] (http://stackoverflow.com/questions/12362918/android-reliable-audio-recording-all-devices) als ein Beispiel. Das Fehlen von AMR-Codierung auf Glass ist entweder ein Fehler oder eine undokumentierte Einschränkung, imo. –