Какой формат я могу использовать для записи на Android и воспроизведения в IOS

Я пробовал так много разных форматов, когда я записывал аудио на Android, что у меня кружится голова, просто подумав об этом. Когда я записываю с помощью.wav на ios, я могу играть на Android без проблем. Но я не могу воспроизвести записанное аудио с Android на IOS.

Я попытался воспроизвести его как base64 и потоковую передачу с помощью URL. Я не знаю, что делать, чтобы играть в нее, так как ничего не работает. Но если кто-то просто укажет мне правильное направление, когда дело доходит до того, какой формат мне следует использовать для записи аудио на Android, чтобы я мог воспроизвести его на ios, я был бы очень рад.

Что у меня так далеко:

       recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
   recorder.setAudioSamplingRate(44100);
   recorder.setAudioEncodingBitRate(96000);
   recorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
   recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);

но я понятия не имел, как назвать файл, на который я записываю (например, record.mp3). Я использую Cordova, поэтому я должен сделать это, когда я начинаю запись. Я пробовал mp4, m4v, m4a, mp4, mp4, mpeg4 и mpeg. Я также пытался записать файл как файл wav, но затем я получаю аудио /x-wav в моей строке base64. Нужно ли мне изменять samplingRate, bitrate, outputformat или audio encoder на что-то другое, если я хочу использовать.wav (не x-wav) и все еще заставить его работать на ios?

1 ответ

Решение

После поиска этой проблемы кажется, что даже очень популярное приложение "Evernote" имеет ту же проблему, и пользователи об этом не знают. Я действительно сталкивался с этим вопросом здесь на SO:

аудиоформат для iOS и Android

Они используют веб-сервис для преобразования файлов в mp3, который работает повсеместно. Я уверен, что вы могли бы найти способ сделать это без посредника, но это должно "указать вам правильное направление".

Надеюсь это поможет.

ура

Другие вопросы по тегам