Звук, записанный с помощью Android MediaRecorder, невозможно воспроизвести в Safari на iOS или macOS - PullRequest
0 голосов
/ 03 марта 2019

Я записываю звук в приложении для Android с помощью MediaRecorder и загружаю файл на мой сервер.Я создаю рекордер следующим образом (Kotlin):

mediaRecorder = MediaRecorder()
mediaRecorder!!.setAudioSource(MediaRecorder.AudioSource.MIC);        
mediaRecorder!!.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
mediaRecorder!!.setAudioChannels(1);
mediaRecorder!!.setAudioSamplingRate(22050);
mediaRecorder!!.setOutputFile(filename);

mediaRecorder!!.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);
mediaRecorder!!.setMaxDuration(5 * 60 * 1000) // 5 minutes
mediaRecorder!!.setOnInfoListener { _, what, _ ->
     if (what == MEDIA_RECORDER_INFO_MAX_DURATION_REACHED) {
          stopRecording()
     }
}

Я могу загрузить и воспроизвести файл на Android, родной iOS и Chrome (для настольных ПК), но он не работает в Safari на iOS и macOS.

Файл подается с сервера с типом содержимого аудио / mpeg.

У меня похожий код записи на iOS, и этот файл, также служащий аудио / mpeg, отлично работает в Safari.

Есть идеи, что случилось?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...