2014-11-27 5 views
5

को संभाल नहीं करता है मेरा कोड आईओएस 8 kAudioFormatMPEG4AAC तक ठीक काम करता है लेकिन अब यह एक खाली फ़ाइल बनाता है। कोई त्रुटि रिपोर्ट नहीं की गई है। जब मैंने इसे kAudioFormatLinearPCM में बदल दिया तो यह काम करता है।आईओएस 8 में AVAudioRecorder kAudioFormatMPEG4AAC

recordSettings = [NSDictionary dictionaryWithObjectsAndKeys: 
    [NSNumber numberWithInt:AVAudioQualityMin], AVEncoderAudioQualityKey, 
    [NSNumber numberWithInt: kAudioFormatLinearPCM], AVFormatIDKey, 
    [NSNumber numberWithInt:16], AVEncoderBitRateKey, 
    [NSNumber numberWithInt: 1], AVNumberOfChannelsKey, 
    [NSNumber numberWithFloat:32000.0], AVSampleRateKey, 
    nil]; 

उत्तर

3

कृपया अपनी सेटिंग्स शब्दकोश से AVEncoderBitRateKey कुंजी को हटा कर उसे kAudioFormatMPEG4AAC साथ iOS8 पर काम करेंगे: यह मेरा कोड है।

यह AVEncoderBitRateKey और AVNumberOfChannelsKey के बीच एक विशिष्ट सहसंबंध हो सकता है। लेकिन मैंने पैरामीटर के साथ नहीं खेला लेकिन कामकाजी रिकॉर्डर प्राप्त करने के लिए डिफ़ॉल्ट बिटरेट मान का उपयोग किया।

3

वह बिटरेट kAudioFormatMPEG4AAC (प्रति सेकंड 16 बाइट्स) के लिए भी संदिग्ध रूप से कम दिखता है, शायद 16000 या 64000 या उससे अधिक का प्रयास करें।

पेज। अपने NSDictionarys, NSArrays और NSNumbers के लिए नए ऑब्जेक्टिव-सी शाब्दिक प्रयास करते हैं, मुझे लगता है कि वे एक सुधार कर रहे हैं:

recordSettings = @{ 
    AVEncoderAudioQualityKey : AVAudioQualityMin, 
    AVFormatIDKey : @(kAudioFormatLinearPCM), 
    AVEncoderBitRateKey : @16000, 
    AVNumberOfChannelsKey : @1, 
    AVSampleRateKey : @32000 
}; 
kAudioFormatLinearPCM साथ
+0

, मेरे AVAudioRecorder प्रदर्शन नहीं कर रिकॉर्डिंग। –