2013-02-01 19 views
8

में एंड्रॉइड से रिकॉर्ड की गई ऑडियो फ़ाइल नहीं चला सकता है, मैं एंड्रॉइड ऐप पर काम कर रहा हूं जो आईओएस का भी समर्थन करता है। मैं ऑडियो रिकॉर्ड करना चाहता हूं & इसे एंड्रॉइड के साथ-साथ आईओएस उपकरणों में भी चलाएं। मैं निम्नलिखित सेटिंग्सआईओएस 5+

MediaRecorder audioRecorder = new MediaRecorder(); 
audioRecorder.setAudioSource(MediaRecorder.AudioSource.MIC); 
audioRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4); 
audioRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC); 
audioRecorder.setAudioSamplingRate(44100); 
audioRecorder.setAudioChannels(1); 
audioRecorder.setAudioEncodingBitRate(12800); 
audioRecorder.setOutputFile(<recordedSoundFilePath>); 
audioRecorder.prepare(); 
audioRecorder.start(); 

आईओएस तरफ का उपयोग करके android में ऑडियो रिकॉर्डिंग कर रहा हूँ, सेटिंग्स के रूप में

//audioRecorder is object of AVAudioRecorder 

NSMutableDictionary *recordSettings = [[NSMutableDictionary alloc] initWithCapacity:10]; 
    NSNumber *formatObject; 
    formatObject = [NSNumber numberWithInt: kAudioFormatMPEG4AAC ]; 

    [recordSettings setObject:formatObject forKey: AVFormatIDKey]; 
    [recordSettings setObject:[NSNumber numberWithFloat:44100.0] forKey: AVSampleRateKey]; 
    [recordSettings setObject:[NSNumber numberWithInt:1] forKey:AVNumberOfChannelsKey]; 
    [recordSettings setObject:[NSNumber numberWithInt:12800] forKey:AVEncoderBitRateKey]; 
    [recordSettings setObject:[NSNumber numberWithInt:16] forKey:AVLinearPCMBitDepthKey]; 
    [recordSettings setObject:[NSNumber numberWithInt: AVAudioQualityHigh] forKey: AVEncoderAudioQualityKey]; 

    NSURL *soundFileURL = [NSURL fileURLWithPath:[self soundFilePath]]; 

    NSError *error = nil; 
    audioRecorder = [[ AVAudioRecorder alloc] initWithURL:soundFileURL settings:recordSettings error:&error]; 

    if ([audioRecorder prepareToRecord] == YES){ 
     [audioRecorder record]; 
    }else { 
     int errorCode = CFSwapInt32HostToBig ([error code]); 
     NSLog(@"Error: %@ [%4.4s])" , [error localizedDescription], (char*)&errorCode); 

    } 

इस प्रकार मैं ऑडियो & इसे सही ढंग से android उपकरणों में खेल रहा है रिकॉर्ड कर सकते हैं कर रहे हैं। अब समस्या यह है कि मैं एंड्रॉइड डिवाइस में आईओएस से रिकॉर्ड किए गए ऑडियो को चला सकता हूं, लेकिन आईओएस डिवाइस एंड्रॉइड डिवाइस पर दर्ज ऑडियो नहीं चला सकता है। यह OSStatus error 1937337955 देता है। मैंने इस त्रुटि के बारे में खोज की, लेकिन मुझे कुछ भी नहीं मिला।

क्या कोई मुझे बता सकता है कि मेरे कोड में क्या गलत हो रहा है?

किसी भी प्रकार की सहायता की अत्यधिक सराहना की जाती है। अग्रिम में धन्यवाद।

+1

प्रवीण: क्या यह हल हो गया है? – muthukumar

+0

@PrvN: क्या यह हल हो गया है? मेरे पास भी एक ही समस्या है। – Jacky

उत्तर

0

कोशिश इस एक:

audioRecorder.setAudioSource(MediaRecorder.AudioSource.DEFAULT); 
audioRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4); 
audioRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB); 
+0

उत्तर के लिए धन्यवाद। लेकिन हम एएसी ऑडियोइन्कोडर चाहते हैं। मैंने एमआईसी से ऑडियोसोर्स को डिफ़ॉल्ट में बदलने की कोशिश की, लेकिन इससे मदद नहीं मिलती है। – PrvN

+0

जहां आप रिकॉर्ड फ़ाइल खेल रहे हैं मेरा मतलब ऐप में है ?? या मोबाइल में प्लेयर के माध्यम से sdcard फ़ाइल ?? –

+1

फ़ाइल एंड्रॉइड ऐप और प्लेयर में भी खेला जा सकता है, लेकिन आईओएस पक्ष नहीं खेल रहा है। – PrvN

0

यह है कोडेक मुद्दा, प्रारूप आईओएस द्वारा दर्ज नहीं एंड्रॉयड मीडिया प्लेयर द्वारा सक्षम डिकोड है, क्रम में यह काम करने के लिए बस के लिए आईओएस तरफ ऑडियो फ़ाइल को डिकोड एमपी 3 या एमपी 4 या 3 जीपी आदि जैसे एंड्रॉइड समर्थित प्रारूप

+0

मैं भी आपके साथ सहमत हूं (एंड्रॉइड_Craker)। मुझे पहले से ही इस तरह के मुद्दे का सामना करना पड़ा है, और एकमात्र समाधान ऑडियो समर्थित फ़ाइल i.e., एमपी 3, एमपी 4, 3 जीपी, WAV आदि में ऑडियो फ़ाइल उत्पन्न करना है। – Shailendra