iOS 5+

2013-02-01 34 views
8

Android'de kaydedilmiş ses dosyasını oynatamıyorum iOS de destekleyen android uygulaması üzerinde çalışıyorum. Ben & sesini iOS cihazlarda olduğu gibi Android'de de oynatmak istiyorum. Ben robot cihazlarda düzgün oynuyor ses & kaydedebilirsiniziOS 5+

//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); 

    } 

şöyle ben aşağıdaki ayarları iOS tarafında

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(); 

kullanarak android içinde ses kaydederken ediyorum, ayarlardır. Artık sorun Android cihazda iOS'tan kaydedilmiş sesi çalabiliyorum, ancak iOS aygıtı Android cihazında kaydedilen sesi çalamıyor. OSStatus error 1937337955 döndürür. Bu hatayı araştırdım ama hiçbir şey bulamıyorum.

Kodumda neyin yanlış gittiğini söyleyen var mı?

Her türlü yardım çok takdir edilmektedir. Şimdiden teşekkürler. Bu, iOS tarafından kaydedilen biçimi android medya oynatıcı tarafından mümkün kod çözme codec'i mesele değildir

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

PrvN: çözüldü mü? – muthukumar

+0

@PrvN: çözüldü mü? Bende aynı sorun var. – Jacky

cevap

0

kimse bu deneyin mp3 veya mp4 veya 3Gp gibi android destekli formatlar vb.

+0

Cevabınız için teşekkürler. Ama biz AAC AudioEncoder'ı istiyoruz. AudioSource'u MIC'ten Varsayılan olarak değiştirmeyi denedim, ancak yardımcı olmuyor. – PrvN

+0

Burada kayıt dosyasını çaldığımda app demek istiyorum? veya mobil cihaz üzerinden sdcard dosyası? –

+1

Dosya, Android uygulamasında ve oynatıcısında da oynatılabilir, ancak ios tarafında oynatılamaz. – PrvN

0

, sırayla çalışması için sadece giriş IOS tarafında ses dosyası deşifre:

+0

Ayrıca size katılıyorum (Android_Craker). Ben zaten böyle bir sorun ile karşı karşıya ve tek çözüm android destekli formatta ses dosyası oluşturmak için, i.e., mp3, mp4, 3gp, wav vb. – Shailendra