मेरा लक्ष्य कम विलंबता के साथ डिवाइस के माइक्रोफ़ोन इनपुट रिकॉर्ड करते समय स्थानीय फ़ाइल को चलाने का है। मैं सुपरपावर्ड लाइब्रेरी में आया हूं, क्योंकि प्रलेखन से यह कम विलंबता सुविधा प्रदान करता है। मैंने SuperpoweredAdvancedAudioPlayer और SuperpoweredAndroidAudioIO का उपयोग कर प्लेयर बनाया है और यह ठीक खेलता है।एंड्रॉइड सुपरपावर्ड एसडीके रिकॉर्ड और प्लेबैक एक साथ
सुपरपावर्ड एंड्रॉइडऑडियोियोओ पैरामीटर बूलियन सक्षम इनपुट, बूलियन सक्षमऑटपुट के साथ कंस्ट्रक्शन है। वर्तमान में मैं enableInput == झूठी और enableOutput == सत्य का उपयोग कर रहा हूं। जब मैं इन पैरामीटर को सत्य में डालता हूं - कोई प्रभाव नहीं।
मुझे आश्चर्य है कि फ़ाइल रिकॉर्ड करना और दूसरी फ़ाइल को एक साथ खेलना संभव है?
लाइब्रेरी में सुपरपावर्ड रेकॉर्डर क्लास भी है लेकिन यह डिस्क पर सीधे लिखने के लिए नहीं कहता है। और createWAV, fwrite, closeWAV विधियों का उपयोग करने की आवश्यकता है। मैंने रिकॉर्डर को अलग से कार्यान्वित करने का प्रयास किया है लेकिन गुणवत्ता अच्छी नहीं है (यह वास्तविक रिकॉर्डिंग से दो-तीन गुना तेज है + ध्वनि विकृत है)।
void SuperpoweredFileRecorder::start(const char *destinationPath) {
file = createWAV(destinationPath, sampleRate, 2);
audioIO = new SuperpoweredAndroidAudioIO(sampleRate, bufferSize, true, false, audioProcessing, NULL, bufferSize); // Start audio input/output.
}
void SuperpoweredFileRecorder::stop() {
closeWAV(file);
audioIO->stop();
}
static bool audioProcessing(void *clientdata, short int *audioInputOutput, int numberOfSamples, int samplerate) {
fwrite(audioInputOutput, sizeof(short int), numberOfSamples, file);
return false;
}
शायद मैं उस उद्देश्य के लिए महाशक्तिशाली उपयोग नहीं कर सकते और बस सीधे OpenSL ES के साथ रिकॉर्डिंग बनाने की जरूरत है: यहाँ रिकॉर्डिंग के लिए कोड का सबसे सरल टुकड़ा मैं प्रयोग किया जाता है।
अग्रिम धन्यवाद!
सुपरपावर्ड एंड्रॉइडऑडियोियो इसका ख्याल रखता है। कई उदाहरण होने के कारण कोड की अनावश्यक राशि है। –
क्या आप कृपया फाइल में प्रभाव लागू करने के बाद ऑडियो के आउटपुट को लिख सकते हैं? –
@kasurd क्या आप कृपया उचित कार्यान्वयन के साथ गिटहब लिंक साझा कर सकते हैं। यह बहुत उपयोगी होगा .. –