У нас возникли проблемы с отправкой файлов .m4a с android на iOS.Проблемы с отправкой файлов .m4a с android на ios
Кажется, файл отправлен правильно, но когда мы пытаемся воспроизвести файл в iOS, он говорит, что продолжительность составляет 00:00.
Вот часть кода из андроида MediaRecorder
конфигурации:
MediaRecorder mediaRecorder = new MediaRecorder();
mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.HE_AAC);
mediaRecorder.setAudioSamplingRate(16000);
mediaRecorder.setAudioChannels(1);
mediaRecorder.setOutputFile(fileRecordingName);
try {
mediaRecorder.prepare();
mediaRecorder.start();
}
catch (Exception e) {
e.printStackTrace();
}
И вот какой-то код от конфигурации IOS:
NSMutableDictionary *recordSetting = [[NSMutableDictionary alloc] init];
[recordSetting setValue:[NSNumber numberWithInt:kAudioFormatMPEG4AAC] forKey:AVFormatIDKey];
[recordSetting setValue:[NSNumber numberWithFloat:16000.0] forKey:AVSampleRateKey];
[recordSetting setValue:[NSNumber numberWithInt: 1] forKey:AVNumberOfChannelsKey];
[recordSetting setValue: [NSNumber numberWithInt: AVAudioQualityMedium] forKey:AVEncoderAudioQualityKey];
Кто-нибудь подсказкой о том, что происходит? Кажется, что конфигурации одинаковы.
Вы уверены, что проблема заключается в записи (код, который вы включили), а не в отправке файла с одного устройства на другое? – lukya
Я думаю, что это не проблема, мы кодируем ее как base64 и отправляем ее как String на сервер, а затем сервер отправляет ее на другой телефон. Android-андроид, ios-android и ios-ios работают отлично, единственным случаем, который не удается, является Android-ios. – Tofasio