Страницы

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

вторник, 17 марта 2020 г.

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

#android #java


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


Ответы

Ответ 1



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

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

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