2012-10-02 5 views
5

, 나는이 짜증나는 유물안드로이드 가지 audiorecord는 유물

enter image description here

피하거나 제거 할 수있는 방법이 있나요 얻을? 이게 뭐야? 아니면 내가 구성에서 뭔가 잘못했기 때문에 그것을 얻을 수 있습니까? (그러나 모든 것이 잘 작동합니다). 나는 모든 것이 잘 기록 할 수 있기 때문에 내 코드가 옳다고 확신

sampleRateInHz = 44100; 
    channelConfigRec = AudioFormat.CHANNEL_IN_MONO; 
    audioFormat = AudioFormat.ENCODING_PCM_16BIT; 
    bufferSizeInBytesRec = AudioRecord.getMinBufferSize(sampleRateInHz, channelConfigRec, audioFormat); 
    audioSource = AudioSource.MIC; 

하지만 처음에이 클릭이있다 :

여기 내 가지 audiorecord 구성입니다.

+0

코드를 게시 할 수 있습니까 –

+0

코드를 볼 필요가 있습니까 ??? 하지만이게 도움이 될만한가요? [이전. 답] [1] [1] : http://stackoverflow.com/questions/4707994/android-audiorecord-questions – Omarj

+0

는 개발자 질문이기 때문에이 질문은 SO에 속한다. 프로그래밍 관련 질문은 Android.SE의 주제와 관련이 없습니다. –

답변

6

AudioSource를 AudioSource.VOICE_RECOGNITION으로 설정해보십시오. 일부 장치, 특히 HTC 장치에서 나는 그 원본에 대한 필터링이 적다는 것을 발견했습니다. 그리고 안드로이드 4.0 장치 호환성 문서에서 이것은 공식화되었습니다 :

android.media.MediaRecorder.AudioSource.VOICE_RECOGNITION을 사용하여 오디오 스트림을 녹음하기 시작했을 때 오디오 소스 :

  • 노이즈 감소 처리가있는 경우 해당 기능을 해제해야합니다.
  • 자동 이득 제어 (있는 경우)를 비활성화해야합니다 (MUST).
+0

AudioRecord의 경우 VOICE_RECOGNITION 오디오 소스가 없지만 지금은 무엇을 찾아야할지 생각합니다. – Puckl

+0

VOICE_RECOGNITION +100, 하나의 옵션으로 1 주일을 절약 할 수 있습니다. – Imskull

2

표시된 아티팩트는 녹음 된 오디오를 처리하는 데 사용되는 디지털 필터의 부작용입니다. 모든 디지털 필터에는 일정한 지연이 있습니다. 예를 들어, 필터에 N 개의 계수가 있으면 지연은 N/2입니다. 기본적으로 오디오 신호의 첫 번째 N/2 샘플이 통과 한 후 필터가 정상적으로 작동하기 시작합니다. 이것은 당신이 가진 유물의 이유가되어야합니다. 희망이 도움이됩니다.