2011-11-04 13 views
6

इस प्रश्न की नीरसता के लिए अग्रिम में माफी, यह आईओएस प्रोग्रामिंग के ऑडियो पक्ष की मेरी पहली खोज है।फ्लोट्स के बफर में AVAudioRecorder इनपुट को कनवर्ट करना

मैं निम्नलिखित सेटिंग्स शब्दकोश का उपयोग कर माइक्रोफ़ोन के माध्यम से इनपुट रिकॉर्ड करने के लिए AVAudioRecorder क्लास का उपयोग कर रहा हूं।

NSMutableDictionary *settings = [[NSMutableDictionary alloc] init]; 
[settings setValue:[NSNumber numberWithInt:kAudioFormatLinearPCM] forKey:AVFormatIDKey]; 
[settings setValue:[NSNumber numberWithFloat:11025.0] forKey:AVSampleRateKey]; 
[settings setValue:[NSNumber numberWithInt: 1] forKey:AVNumberOfChannelsKey]; 
[settings setValue:[NSNumber numberWithInt:16] forKey:AVLinearPCMBitDepthKey]; 
[settings setValue:[NSNumber numberWithBool:NO] forKey:AVLinearPCMIsBigEndianKey]; 
[settings setValue:[NSNumber numberWithBool:NO] forKey:AVLinearPCMIsFloatKey]; 

यह पूरी तरह ठीक काम करता है, समस्या फिर भी आता है जब मैं echonest-codegen पुस्तकालय का उपयोग करने के संगीत में खेला पहचान करने के लिए एक फिंगरप्रिंट उत्पन्न करने का प्रयास।

चिंता मत करो, अगर तुम है यह पहले कभी उपयोग नहीं, मूल रूप से मैं इस समारोह को चलाने के लिए है:

Codegen * pCodegen = new Codegen(const float* pcm[], int number_of_samples, int samples_offset); 

कहाँ स्थिरांक नाव * पीसीएम [] नमूनों की एक बफर है। मुझे अपने इनपुट को "फ्लोट्स के बफर" में बदलने की ज़रूरत है। मुझे ExtAudioFile दस्तावेज़ों की ओर इशारा किया गया है, लेकिन वे बहुत भयानक नहीं कर रहे हैं। क्या कोई मुझे सही दिशा में इंगित कर सकता है? मैं पूरी तरह से खो गया हूँ!

बहुत धन्यवाद!

उत्तर

1

आप आसानी से Audio Queue Services सबसे बड़ी समस्या मैं यहाँ देखने के साथ ऑडियो नमूना प्राप्त कर सकते है कि ऑडियो बफ़र्स के प्रकार के चार * (बाइट) कर रहे हैं (मेरा मानना ​​है कि), मैं नहीं जानता कि क्यों तुम नाव की जरूरत है *

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