2011-03-07 18 views
5

हालांकि कैमरा डेटा को पकड़ने के लिए AVCaptureSession का उपयोग करने के लिए बहुत सारे ट्यूटोरियल हैं, लेकिन माइक्रोफ़ोन डेटा को सही तरीके से प्रबंधित करने के तरीके पर मुझे कोई जानकारी नहीं मिलती है (यहां तक ​​कि सेब के देव नेटवर्क पर भी)।AVCaptureSession के साथ माइक्रोफ़ोन ऑडियो कैप्चरिंग और हेरफेर करना?

मैंने AVCaptureAudioDataOutputSampleBufferDelegate लागू किया है, और मुझे अपने प्रतिनिधि को कॉल मिल रही है, लेकिन मुझे नहीं पता कि CMSampleBufferRef I की सामग्री को कैसे स्वरूपित किया गया है। क्या बफर की सामग्री एक अलग नमूना है? इसकी संपत्ति क्या हैं? इन गुणों को कहां सेट किया जा सकता है?

वीडियो गुणों को [AVCaptureVideoDataOutput setVideoSettings:] का उपयोग करके सेट किया जा सकता है, लेकिन AVCaptureAudioDataOutput (कोई setAudioSettings या कुछ भी समान नहीं) के लिए कोई संबंधित कॉल नहीं है।

+0

क्या आपने WWDC 2010 से "Wavy" ऐप के लिए कोड देखा है। यह माइक्रोफ़ोन डेटा प्राप्त करता है और वास्तविक समय में स्क्रीन पर प्लॉट करता है। – jamihash

+0

नहीं, मैंने नहीं किया है, और न ही मैं इसकी एक प्रति प्राप्त करने में सक्षम हूं। क्या ऑडियो lib/ढांचे का उपयोग किया गया था? क्या नमूना दर सेट करना और माइक्रो डेटा का नमूनाकरण करते समय फोन के हार्डवेयर एन्कोडर्स का उपयोग करना संभव है? – akaii

उत्तर

1

वे एलपीसीएम के रूप में स्वरूपित हैं! तुम इतनी तरह AudioStreamBasicDescription हो रही द्वारा इस की पुष्टि कर सकते हैं:

CMFormatDescriptionRef formatDescription = CMSampleBufferGetFormatDescription(sampleBuffer); 
const AudioStreamBasicDescription *streamDescription = CMAudioFormatDescriptionGetStreamBasicDescription(formatDescription); 

और फिर धारा वर्णन के mFormatId जाँच।

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