From 788ba28f0f110a0b0929b44f2538dba052a63867 Mon Sep 17 00:00:00 2001 From: FineFindus Date: Thu, 16 May 2024 22:22:47 +0200 Subject: [PATCH] feat(player): enable audio offloading --- .../main/kotlin/voice/playback/di/PlaybackModule.kt | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/playback/src/main/kotlin/voice/playback/di/PlaybackModule.kt b/playback/src/main/kotlin/voice/playback/di/PlaybackModule.kt index 85f974aa7b..4c3a99ff96 100644 --- a/playback/src/main/kotlin/voice/playback/di/PlaybackModule.kt +++ b/playback/src/main/kotlin/voice/playback/di/PlaybackModule.kt @@ -4,6 +4,7 @@ import android.content.Context import androidx.media3.common.AudioAttributes import androidx.media3.common.C import androidx.media3.common.Player +import androidx.media3.common.TrackSelectionParameters.AudioOffloadPreferences import androidx.media3.datasource.DefaultDataSource import androidx.media3.exoplayer.ExoPlayer import androidx.media3.exoplayer.source.MediaSource @@ -61,6 +62,13 @@ object PlaybackModule { .setContentType(C.AUDIO_CONTENT_TYPE_SPEECH) .setUsage(C.USAGE_MEDIA) .build() + val audioOffloadPreferences = + AudioOffloadPreferences.Builder() + .setAudioOffloadMode(AudioOffloadPreferences.AUDIO_OFFLOAD_MODE_ENABLED) + .setIsGaplessSupportRequired(true) + .setIsSpeedChangeSupportRequired(true) + .build() + return ExoPlayer.Builder(context, onlyAudioRenderersFactory, mediaSourceFactory) .setAudioAttributes(audioAttributes, true) .setHandleAudioBecomingNoisy(true) @@ -73,6 +81,8 @@ object PlaybackModule { player.onAudioSessionIdChanged { volumeGain.audioSessionId = it } + player.trackSelectionParameters = + player.trackSelectionParameters.buildUpon().setAudioOffloadPreferences(audioOffloadPreferences).build() } }