2012-02-29 13 views
8

आईओएस का उपयोग करके ऑडियो रिकॉर्ड कैसे करता है? माइक्रोफोन से इनपुट रिकॉर्डिंग नहीं, लेकिन मैं अपने ऐप के भीतर मौजूदा बजाने वाले ऑडियो को कैप्चर/रिकॉर्ड करने में सक्षम होना चाहता हूं?रिकॉर्ड ऑडियो आईओएस

तो, उदा। मैं एक रिकॉर्डिंग सत्र शुरू करता हूं, और कोई भी आवाज जो मेरे ऐप के भीतर ही खेलती है, मैं इसे एक फाइल में रिकॉर्ड करना चाहता हूं?

मैंने इस पर शोध किया है, लेकिन मैं ऑडियो फ्रेमवर्क को मिश्रित करने की तरह दिखने के साथ उलझन में हूं, समस्याएं पैदा कर सकती हैं?

मैं बस अपने आवेदन के भीतर ऑडियो को कैप्चर और सहेजने में सक्षम होना चाहता हूं।

+0

आप अपने ऐप के भीतर ऑडियो कैसे चलाते हैं? – sbooth

+0

मैं ऑडियो इकाइयों का उपयोग करूँगा। क्या रिकॉर्डर स्वयं एक इकाई होगा? – jarryd

+0

बस स्पष्टीकरण के लिए, जब आप कहते हैं कि आप अपने ऐप (माइक्रोफ़ोन नहीं) में ध्वनि बजाना चाहते हैं, तो आप बस इसका मतलब है कि आप सीधे ध्वनि कार्ड को रिकॉर्ड करना चाहते हैं, सही? तो, अगर किसी के सिर हेडफ़ोन में वे अभी भी रिकॉर्ड कर सकते हैं तो वे सुनेंगे। – luca590

उत्तर

4

ठीक है अगर आप केवल उस ऑडियो को रिकॉर्ड करना चाहते हैं जो आपका ऐप उत्पन्न करता है, तो हाँ यह बहुत संभव है।

क्या संभव नहीं है, स्पीकर के माध्यम से आउटपुट होने वाले सभी ऑडियो रिकॉर्ड कर रहा है। (संपादित करें: मैं बस यह स्पष्ट करना चाहता हूं कि अन्य अनुप्रयोगों द्वारा उत्पादित ऑडियो आउटपुट रिकॉर्ड करने का कोई तरीका नहीं है। आप केवल ऑडियो नमूने रिकॉर्ड कर सकते हैं)।

यदि आप अपने ऐप के ऑडियो आउटपुट को रिकॉर्ड करना चाहते हैं, तो आपको रिमोट आईओ ऑडियो यूनिट (http://atastypixel.com/blog/using-remoteio-audio-unit/) का उपयोग करना होगा।

आपको इसे भरने के बाद प्लेबैक बफर की प्रतिलिपि बनाने की ज़रूरत है।

पूर्व)

memcpy(void *dest, ioData->mBuffers[0].mData, int amount_of_bytes); 
1

आईओएस ऐप से सभी जेनेरिक ऑडियो आउटपुट को कैप्चर या रिकॉर्ड करने के लिए कोई सार्वजनिक एपीआई नहीं है।

1

चेक बाहर एप्पल से MixerHostAudio नमूना आवेदन। ऑडियो इकाइयों के बारे में सीखना शुरू करने का यह एक शानदार तरीका है। एक बार जब आप इसे समझ लेंगे, तो ऑनलाइन कई ट्यूटोरियल हैं जो रिकॉर्डिंग जोड़ने के बारे में बात करते हैं।

2

यह एक मुख्य ऑडियो जनोपयोगी फ़ाइल CAAudioUnitOutputCapturer लपेटकर http://developer.apple.com/library/mac/#samplecode/CoreAudioUtilityClasses/Introduction/Intro.html

आवरण वर्गों के लिए इस सवाल में मेरा जवाब देखें द्वारा संभव है। Properly use Objective C++

+0

क्या आपको लगता है कि अन्य ऐप्स से ऑडियो रिकॉर्ड करना भी संभव है? क्या आप शुद्ध ऑडियो रिकॉर्ड कर सकते हैं उदाहरण के लिए Spotify उत्पादन कर रहा है? –

+0

@PiotrDabkowski आईओएस सैंडबॉक्सिंग करता है, इसलिए ऑडियो शायद ऐप के मूल निवासी है। इंटर-ऐप ऑडियो जैसी चीजें हैं, जिसके लिए, आपके मामले में स्पॉटिफा को आपके द्वारा ऑडियो प्राप्त करने में सक्षम होने के लिए समर्थन करना होगा। – lppier

संबंधित मुद्दे