Я создаю экземпляр exoplayer и добавляю URL потока в качестве источника прогрессивного медиа, подготавливаю проигрыватель и воспроизводлю аудио.Когда я возвращаюсь к предыдущему действию и снова открываю действие проигрывателя, другой экземпляр проигрывателя воспроизводит тот же звук (два экземпляра воспроизводят одно и то же аудио одновременно).Также у меня есть кнопка отключения звука.Это работает, как и ожидалось, когда я открываю деятельность в первый раз.При повторном открытии действия кнопка отключения звука отключает только экземпляр ExoPlayer текущего действия
. Я пытался переместить код ExoPlayer в другой класс и вызывать их с открытыми функциями, но не работал
val dataSourceFactory = DefaultDataSourceFactory(this, Util.getUserAgent(this, packageName))
val newMediaSource = ProgressiveMediaSource.Factory(dataSourceFactory).createMediaSource(Uri.parse("STREAM URL"));
val exoPlayer = ExoPlayerFactory.newSimpleInstance(this);
exoPlayer.prepare((newMediaSource));
exoPlayer.playWhenReady = true;
muteButton.setOnClickListener {
if(muteButton.tag == "muted")
{
exoPlayer.volume = 1f;
muteButton.tag = "unmuted";
}
else
{
exoPlayer.volume = 0f;
muteButton.tag = "muted";
}
}
Я хочу, чтобы тот же ExoPlayer запускался при повторном открытии действия, а также отключал этот конкретный экземпляр