Пользователи нашего приложения Android будут слушать подкасты. Нам нужно проигрывать рекламу через определенные промежутки времени во время воспроизведения. Эти интервалы будут зависеть от пользователя. Но, например, это может быть следующий сценарий:
«маркеры рекламы» в миллисекундах - [30000, 60000, 115000] (эти маркеры времени «воспроизводят рекламу») хранятся в массиве, который мы встраиваем непосредственно в метаданные ID3 в каждом файле MP3, который пользователь выбирает для воспроизведения). Каждый маркер времени MP3-файлов (ie 30000 и т. Д. c) будет РАЗНЫМ для каждого пользователя.
- пользователь начинает воспроизведение "звуковой дорожки 1" (MP3).
- на 30000 мс, мы приостановим «звуковую дорожку 1», воспроизведем аудиообъявление (MP3) для пользователя по URL
- , когда объявление закончится, нам нужно возобновить воспроизведение аудио с (1)
- при 60000 мс, мы приостановим «звуковую дорожку 1», воспроизведем аудиообъявление, затем возобновим воспроизведение звука и т. Д. c ...
Используя Exoplayer, как мы можем контролировать воспроизведение из «звуковой дорожки 1», чтобы знать, что прошло 30000 мс, и теперь пришло время воспроизвести «рекламный» MP3. Нужно ли нам поддерживать собственный отдельный таймер в приложении Android для управления этим? Или есть какой-то API в Exoplayer 2 API, чтобы помочь этому варианту использования?
Можем ли мы как-то «вставить» это объявление (во время исполнения) в воспроизводимую в настоящее время «звуковую дорожку 1»? Должны ли мы использовать AdsMediaSource каким-либо образом?
это ({ ссылка }) может быть тем, что мы ищем, однако фрагменты кода минимальны
Действительно благодарны за некоторую помощь в этом.