2012-10-02 16 views
5

, bu can sıkıcı objeyiAndroid AudioRecord eser

enter image description here

önlemek veya bu kaldırmak için bir yol var mı olsun? Bu ne? Ya da bunu aldığımda, yapılandırmada yanlış bir şey yaptım (ama her şey yolunda gidiyor). Ben her şey iyi kaydedebilirsiniz çünkü benim kod doğru olduğuna eminim

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

ama başında bu tıklanmışsa:

İşte benim AudioRecord yapılandırmasıdır.

+0

kodunuzu –

+0

kodunuzu görüntüleyebilir misiniz? ama bunu okuyabilirsin belki yardım et. Cevap] [1] [1]: http://stackoverflow.com/questions/4707994/android-audiorecord-questions – Omarj

+0

bir geliştirici sorudur çünkü bu soru SO üzerinde aittir. Programlama soruları Android.SE'de konu dışıdır: http://android.stackexchange.com/faq#what-about-other-android-related-questions –

cevap

6

AudioSource'unuzu AudioSource.VOICE_RECOGNITION olarak ayarlamayı deneyin. Bazı cihazlarda, özellikle HTC cihazlarında, bu kaynakla daha az filtreleme olduğunu gördüm. Ve ICS ile ve bundan sonra resmi bir şey olması gerekiyordu. Android 4.0 cihaz uyumluluk belgesinde bu, resmi hale getirildi:

Bir uygulama android.media.MediaRecorder.AudioSource.VOICE_RECOGNITION kullanarak bir ses akışı kaydetmeye başladığında ses kaynağı:

  • Gürültü azaltma işlemleri, varsa, devre dışı bırakılmalıdır.
  • Otomatik kazanç kontrolü, eğer varsa, ZORUNLUdur.
+0

Orada AudioRecord için VOICE_RECOGNITION ses kaynağı değil, ama şimdi neye bakacağım konusunda bir fikrim var. – Puckl

+0

VOICE_RECOGNITION +100, bir seçenek bana bir hafta kaydeder. – Imskull

2

Gösterilen artışın, kayıtlı sesi işlemek için kullanılan dijital filtrenin yan etkisi olduğunu düşünüyorum. Her dijital filtrenin belirli bir gecikmesi vardır. Örneğin, filtrenin N katsayısı varsa, gecikme N/2'dir. Aslında, bu, ilk N/2 ses sinyalinin içinden geçtikten sonra filtrenin normal davranmaya başlayacağı anlamına gelir. Bu, sahip olduğunuz artefaktın sebebi olmalı. Bu yardımcı olur umarım.