EDIT:ExoPlayer 2 поддерживает бесщелевое воспроизведение, но на момент написания еще не выпущен в качестве стабильной версии.
Вы, скорее всего, никогда не сможете добиться безупречного воспроизведения нескольких треков с помощью ExoPlayer или Android Media Player. Ни один из них не был написан для поддержки запуска нескольких треков, и я полагаю, что они останутся вне сферы действия для обоих из них.
Вы можете добиться бесщелевого воспроизведения, используя 2 разных экземпляра проигрывателя, как только вы запустили и сыграли в первый раз, вы можете загрузить второй и начать воспроизведение после первого окончания. Используя этот метод, вы можете иметь беспроблемное решение, пока вы готовите второе видео во время воспроизведения первого.
Чтобы сделать это дальше, вы также можете использовать 2 разных текстуры поверхности для рендеринга нескольких видеороликов, как только первое видео достигнет конца, вы сможете вытереть текстуру и исчезнуть в новом. Результатом является приятный бесшовный видеоэффект.
Из-за природы одновременного воспроизведения нескольких видеороликов вы, скорее всего, захотите создать свой собственный таймер для увеличения времени и принятия решения о переключении на следующее видео, вместо того, чтобы пытаться использовать обратные вызовы от ExoPlayer или Android Media , Это позволит вам отслеживать время более точно, без необходимости разговаривать с несколькими видеокодеками.
Это потрясающе. Попробуем это в ближайшее время. – LostPuppy
Это не удивительно, как насчет обычных сценариев, например, я пишу потоковый музыкальный плеер (например), и когда я начинаю первую песню, я не знаю, какие песни будут дальше (пользователь добавляет в очередь во время воспроизведения) –