Страницы

Поиск по вопросам

четверг, 6 июня 2019 г.

Начать воспроизведение первого byte[], как только он сформировался

Допустим, байты приходят из какого-то источника (аудио), складываются в одинаковые по размеру byte[], и так в цикле, причем неизвестно, сколько всего байтов придет. Как начать воспроизведение первого byte[], как только он сформировался? По окончании массива подавать ему следующий и так, чтобы не было разрыва в звуке. new MediaPlayer() не принимает byte[]


Ответ

Интересный вопрос.
На ум приходят 3 варианта:
Организовать ContentProvider с кастомным Uri и подать плееру на вход Uri, но что-то подсказывает мне, что в этом случае будет очень больно и долго :) Покопаться в Android NDK, где-то краем уха слышал, что там можно организовать подачу потока в плеер (не уверен). Создать MemoryFile, над которым организовать ParcelFileDescriptor, который и подать на вход плееру. См. пост на стэке

Комментариев нет:

Отправить комментарий