2014-10-25 29 views
5

Tôi đang cố gắng ghi lại âm thanh bằng gdk thủy tinh và thấy nó khá là có vấn đề.Ghi âm âm thanh trên Google Glass

Tôi đang sử dụng trình ghi phương tiện và có tất cả các quyền phù hợp, nhưng tôi tiếp tục nhận được 100 lỗi ghi phương tiện. Mã của tôi trông giống như sau:

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

này có được một cái gì đó để làm với kính Google như tôi đã chạy mã chính xác cùng trên một điện thoại Android và nó ghi lại âm thanh một cách chính xác. Tôi có thể tìm thấy rất ít tài nguyên về cách sử dụng máy ghi phương tiện để chỉ ghi lại âm thanh trên kính, hầu hết các bài đăng tôi đã thấy là mọi người quay video và âm thanh, trong khi tôi không quan tâm đến video.

Bất kỳ trợ giúp nào về cách tôi có thể ghi âm thanh trên Google Glass sẽ được đánh giá cao!

+0

Tôi đã nhìn thấy điều này được hỏi một loạt các lần mà không có câu trả lời khá nào được nêu ra. –

Trả lời

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

Tôi vừa thử nghiệm điều này trong một hoạt động nhập vai nhắm mục tiêu GDK mới nhất trên kính XE22. Những gì tôi thấy với mã ban đầu của bạn là một loạt các thông điệp logcat bản địa cho thấy các vấn đề về codec. Sự kết hợp của bộ giải mã và vùng chứa này hoạt động và tôi có thể truy xuất tệp âm thanh và phát lại trên sổ ghi chép của mình.

+0

Tôi đã nhận thấy tôi có thể làm cho nó để ghi lại trong AAC, tuy nhiên tôi đang cố gắng để ghi lại trong AMR. Có gì lạ ở đây: https://code.google.com/p/google-glass-api/issues/detail?id=317 một trong những bài viết của nhà phát triển mà AMR là bộ mã hóa mặc định. Những gì tôi đang cố gắng để làm việc ra là lý do tại sao mà doesnt làm việc. – WillEllis

+0

Có thể bây giờ họ chỉ hỗ trợ AAC trên kính, trong trường hợp đó câu trả lời của bạn là chính xác. Tôi rất muốn biết mặc dù nếu có ai đó đã tìm ra cách để ghi lại trong AMR – WillEllis

+0

Tôi hiểu, mặc dù câu hỏi của bạn là "cách ghi lại âm thanh" trên Glass, không nhất thiết chỉ ở định dạng AMR. Mặc dù AMR sẽ hoạt động trên Glass theo thông số kỹ thuật, nhưng nó hiếm khi giữ được ngay cả trên các thiết bị Android khác. Xem [bài đăng này] (http://stackoverflow.com/questions/12362918/android-reliable-audio-recording-all-devices) làm ví dụ. Thiếu mã hóa AMR trên Glass là lỗi hoặc giới hạn không có giấy tờ, imo. –

Các vấn đề liên quan