मैं एक ऐप्लिकेशन है जो माइक्रोफोन पढ़ता है। विशेष रूप से मैं माइक्रोफ़ोन में उड़ने का पता लगा रहा हूं;) यह कई एचटीसी उपकरणों पर काम नहीं करता है। मैंने एक एचटीसी Droid एरिस के साथ ही एक एचटीसी Droid Incredible उठाया है। उन लोगों के अलावा मेरे पास कई मित्रों की रिपोर्ट है जिनमें एचटीसी डिवाइस भी अपेक्षाकृत नए एचटीसी थंडरबॉल्ट को शामिल करने के लिए इस समस्या का सामना कर रहे हैं।एचटीसी शोर रद्द अक्षम
तो, एप्लिकेशन डिबगिंग पता चला है कि परिवेश कमरे शोर एक स्टारबक्स में 4,000-11,000 से पंजीकृत करता है। जैसे ही मैं माइक में उड़ता हूं इनपुट इनपुट 4000s तक गिर जाता है: हर बार, हर समय।
किसी को भी पता है कि अगर यह प्रोग्राम के रूप में निष्क्रिय किया जा सकता?
यहाँ कैसे मैं इनपुट पढ़ रहा हूँ है ...
int minBufferSize = AudioRecord.getMinBufferSize(8000, AudioFormat.CHANNEL_CONFIGURATION_MONO, AudioFormat.ENCODING_PCM_16BIT);
AudioRecord audioRecord = new AudioRecord(MediaRecorder.AudioSource.MIC, 8000, AudioFormat.CHANNEL_CONFIGURATION_MONO, AudioFormat.ENCODING_PCM_16BIT, minBufferSize);
short[] buffer = new short[minBufferSize];
audioRecord.startRecording();
audioRecord.read(buffer, 0, minBufferSize);
int i = 0;
for (short sample : buffer) {
inputVolume = Math.abs(sample);
maxVolumeIn = (inputVolume > maxVolumeIn) ? inputVolume : maxVolumeIn;
if (inputVolume >= micSensitivity) {
Log.d(TAG, "Blowing Detected. Volume Level: " + inputVolume);
break;
}
}
मैं तुम क्या सुझाव है की कोशिश करने का मौका नहीं मिला है। मैं आपको बकाया राशि का पुरस्कार देने जा रहा हूं क्योंकि आपका समाधान उचित लगता है, लेकिन संभावित रूप से महत्वपूर्ण रिफैक्टरिंग और परीक्षण की आवश्यकता होगी। –
यह निश्चित रूप से कुछ कोड जिमनास्टिक को एक ठोस ऑडियो समाधान प्राप्त करने की आवश्यकता है जो सभी उपकरणों पर काम करता है। मुझे दर्द पता है। –