/ / AudioRecord व्यवहार के साथ मुद्दा - Android, मेमोरी-लीक, ऑडियोरकार्ड, android-audiorecord

AudioRecord व्यवहार के साथ समस्या - एंड्रॉइड, मेमोरी-लीक, ऑडीओरेकॉर्ड, एंड्रॉइड-ऑडिओोरकॉर्ड

मैं AudioRecord का उपयोग करके चीजों को प्राप्त करने के लिए संघर्ष कर रहा हूं।

मूल रूप से मैं क्या करने की कोशिश कर रहा हूँ शायद ही कभीमेरे Android डिवाइस पर ऑडियो से रिकॉर्ड करें। मुझे ऑडियो स्रोत से बाइट्स की एक सतत स्ट्रीम प्राप्त करने की आवश्यकता नहीं है, लेकिन मुझे हर 5 मिनट में एक बफर खिलाना होगा।

समस्या यह है कि मेरे प्रोग्राम द्वारा उपयोग की जाने वाली मेमोरीहर बार मैं रिकॉर्डिंग बढ़ाता हूं (मैंने अपने मेमोरी इश्यू की जांच के लिए डीडीएमएस का उपयोग किया)। मैंने इस समस्या को बेहतर ढंग से समझने के लिए अपने कोड को निम्न पंक्तियों में घटा दिया।

    buffersizebytes = AudioRecord.getMinBufferSize(SAMPPERSEC,
channelConfiguration, audioEncoding);
tabbAudioBuffer = new byte[buffersizebytes];

setContentView(R.layout.main);

audioRecord = new AudioRecord(
android.media.MediaRecorder.AudioSource.MIC, SAMPPERSEC,
channelConfiguration, audioEncoding, buffersizebytes);

int i=1000;
while(i-->0) {
audioRecord.startRecording();
audioRecord.stop();
}

audioRecord.release();
audioRecord = null;

कृपया मुझे बताएं कि क्या आप मेरी समस्या के बारे में मेरी मदद कर सकते हैं। धन्यवाद।

उत्तर:

जवाब के लिए 0 № 1

मेरे पास एक समान मुद्दा था और मैं वास्तव में दिलचस्पी रखता हूं अगर आप कुछ खोद सकते हैं। मुझे लगता है कि जब आप कॉल करते हैं तो कोड का विचार स्मृति की वृद्धि दिखाना है startRecording(), तो कुछ करो, तब stop()... कई बार।