Как использовать Exoplayer для воспроизведения входного потока?

Я использую следующее FrameWorkSampleSource Конструктор для инициализации SampleSource пример.

File file = new File(path);
FileInputStream inputStream = new FileInputStream(file);
FileDescriptor fd = inputStream.getFD();
SampleSource sampleSource = new FrameworkSampleSource(fd, 0, file.length());

Но мне нужно сыграть InputStream используя ExoPlayer. Я не могу найти интерфейс, который реализует SampleSource класс и занимает InputStream в качестве параметра в его конструкторе.

1 ответ

Кажется, что нет простого способа достичь этого, потому что ExoPlayer не предназначен для этого. Цитировать разработчика:

"Мы не предоставляем реализацию, которая оборачивает InputStream напрямую, потому что интерфейс InputStream не обеспечивает подходящее поведение произвольного доступа для воспроизведения мультимедиа, которое требуется как для поиска, так и потому, что некоторые форматы мультимедиа помещают данные в конец файла, который должен быть читать в начале воспроизведения."

Прочитайте его полный ответ здесь:

https://github.com/google/ExoPlayer/issues/1086

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