Android MediaRecorder OutputFile: заголовок не обновляется при использовании FileDescriptor

Я просто хочу записывать звук на своем Android и передавать его через сокет на другой сервер. Все работает как надо, за исключением того, что файл не читается на другом конце.

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

Я прочитал много других сообщений о потоковой передаче аудио/видео через сокет и не встречал никого, говорящего об этой проблеме. Может быть, мне нужно изменить формат или кодек на что-то, что не требует возврата и обновления заголовка?

    mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
    mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);

person Andrew Postma    schedule 24.02.2014    source источник
comment
Нашел ответ здесь, в другом сообщении Stackoverflow. stackoverflow.com/questions/12894976/   -  person Andrew Postma    schedule 24.02.2014