2015-02-04 2 views
7

android wear에 오디오를 녹음하는 방법이 있습니까? AudioRecord API를 사용하여 응용 프로그램을 중단합니다.android wear에서 오디오를 녹음하는 방법

내가 잘못 했나요?

 short[] audioData = new short[minBufferSize]; 

     AudioRecord audioRecord = new AudioRecord(MediaRecorder.AudioSource.MIC, 
       11025, 
       AudioFormat.CHANNEL_CONFIGURATION_MONO, 
       AudioFormat.ENCODING_PCM_16BIT, 
       minBufferSize); 

     audioRecord.startRecording(); 

     while(recording){ 
      int numberOfShort = audioRecord.read(audioData, 0, minBufferSize); 
      for(int i = 0; i < numberOfShort; i++){ 
       dataOutputStream.writeShort(audioData[i]); 
      } 
     } 

     audioRecord.stop(); 
+0

"응용 프로그램이 충돌 함"- LogCat을 사용하여 충돌과 관련된 Java 스택 추적을 검사합니다. https://stackoverflow.com/questions/23353173/unfortunately-myapp-has-stopped-how-can-i- solve-this – CommonsWare

+0

LogCat에 오류가 표시되지 않고 응용 프로그램이 오류 메시지없이 중단됩니다. 안드로이드 마모가 오디오 레코더를 지원하는지 확실하지 않습니다. 아무도 작동하지 않는지 알고 싶습니다. –

+0

몇 달 전 시도했지만, 나는 미디어 레코더가 시작되지 못하게하는 인코딩 문제가있었습니다. 그 이후로 다시 시도하지 않았지만 누군가가 그 당시 나를 제안 했으므로 인코딩을 제거하려고 시도하면 작동 할 수도 있습니다. – Snow

답변

6

AudioRecord는 Android Wear에서 지원되며 작동합니다. 에뮬레이터에서 테스트하는 경우 제공하는 샘플 속도 인 11025를 지원하지 않을 가능성이 있습니다.

AudioRecord를 생성 한 후 상태를 검사하여 기록을 시도하기 전에 초기화가 성공했는지 확인해야합니다.

audioRecord.getState() == AudioRecord.STATE_INITIALIZED 

또한 매니페스트에 올바른 권한이 있는지 확인하십시오. 최소한 android.permission.RECORD_AUDIO와 파일을 쓰는 위치에 대한 권한이 필요합니다.

+2

매니페스트에 오디오 권한을 넣는 것을 잊었습니다. 이제 작동합니다, 감사합니다. –

+0

녹음 된 오디오에 어떻게 액세스 할 수 있습니까? – Amir

관련 문제