Как использовать 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 не обеспечивает подходящее поведение произвольного доступа для воспроизведения мультимедиа, которое требуется как для поиска, так и потому, что некоторые форматы мультимедиа помещают данные в конец файла, который должен быть читать в начале воспроизведения."
Прочитайте его полный ответ здесь: