From e6bf87b31fb56f41edeef85f140a59fe432a2066 Mon Sep 17 00:00:00 2001 From: antonio Date: Thu, 29 Dec 2022 13:48:16 +0100 Subject: [PATCH] TEST - Initialize the player by setting renderersFactory and mediaSourceFactory --- .../com/cappielloantonio/play/service/MediaService.kt | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/app/src/main/java/com/cappielloantonio/play/service/MediaService.kt b/app/src/main/java/com/cappielloantonio/play/service/MediaService.kt index 58059f09..437f9891 100644 --- a/app/src/main/java/com/cappielloantonio/play/service/MediaService.kt +++ b/app/src/main/java/com/cappielloantonio/play/service/MediaService.kt @@ -11,11 +11,13 @@ import androidx.media3.cast.SessionAvailabilityListener import androidx.media3.common.* import androidx.media3.common.util.UnstableApi import androidx.media3.exoplayer.ExoPlayer +import androidx.media3.exoplayer.source.DefaultMediaSourceFactory import androidx.media3.session.* import androidx.media3.session.MediaSession.ControllerInfo import com.cappielloantonio.play.R import com.cappielloantonio.play.model.Media import com.cappielloantonio.play.ui.activity.MainActivity +import com.cappielloantonio.play.util.DownloadUtil import com.cappielloantonio.play.util.UIUtil import com.google.android.gms.cast.framework.CastContext import com.google.common.collect.ImmutableList @@ -195,6 +197,8 @@ class MediaService : MediaLibraryService(), SessionAvailabilityListener { private fun initializePlayer() { player = ExoPlayer.Builder(this) + .setRenderersFactory(getRenderersFactory()) + .setMediaSourceFactory(getMediaSourceFactory()) .setAudioAttributes(AudioAttributes.DEFAULT, true) .setHandleAudioBecomingNoisy(true) .setWakeMode(C.WAKE_MODE_NETWORK) @@ -279,6 +283,11 @@ class MediaService : MediaLibraryService(), SessionAvailabilityListener { /* Do nothing. */ } + private fun getRenderersFactory() = DownloadUtil.buildRenderersFactory(this, false) + + private fun getMediaSourceFactory() = + DefaultMediaSourceFactory(this).setDataSourceFactory(DownloadUtil.getDataSourceFactory(this)) + override fun onCastSessionAvailable() { setPlayer(player, castPlayer) }