From 836da0f80fdc6dd2a1a1613b06a985a0ee9f223c Mon Sep 17 00:00:00 2001 From: yattoz <12408848+yattoz@users.noreply.github.com> Date: Wed, 11 Dec 2019 23:08:48 +0100 Subject: [PATCH] switched to exoplayer 2.11.0. added some debug to the metadata --- app/build.gradle | 2 +- .../fr/forum_thalie/tsumugi/RadioService.kt | 19 ++++++++++++++++--- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 5564318..dc6ada4 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -64,7 +64,7 @@ dependencies { */ implementation "androidx.media:media:1.1.0" - implementation 'com.google.android.exoplayer:exoplayer:2.10.6' + implementation 'com.google.android.exoplayer:exoplayer:2.11.0' implementation 'androidx.legacy:legacy-support-v4:1.0.0' implementation 'androidx.lifecycle:lifecycle-extensions:2.1.0' implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.1.0' diff --git a/app/src/main/java/fr/forum_thalie/tsumugi/RadioService.kt b/app/src/main/java/fr/forum_thalie/tsumugi/RadioService.kt index 0fada1d..a292646 100644 --- a/app/src/main/java/fr/forum_thalie/tsumugi/RadioService.kt +++ b/app/src/main/java/fr/forum_thalie/tsumugi/RadioService.kt @@ -32,11 +32,11 @@ import androidx.media.AudioManagerCompat import androidx.preference.PreferenceManager import com.google.android.exoplayer2.* import com.google.android.exoplayer2.metadata.icy.* -import com.google.android.exoplayer2.trackselection.DefaultTrackSelector import fr.forum_thalie.tsumugi.alarm.RadioAlarm import fr.forum_thalie.tsumugi.alarm.RadioSleeper import fr.forum_thalie.tsumugi.playerstore.PlayerStore import java.util.* +import kotlin.collections.ArrayList import kotlin.math.exp import kotlin.math.ln import kotlin.system.exitProcess @@ -348,7 +348,10 @@ class RadioService : MediaBrowserServiceCompat() { setBufferDurationsMs(minBufferMillis, maxBufferMillis, bufferForPlayback, bufferForPlaybackAfterRebuffer) }.createDefaultLoadControl() - player = ExoPlayerFactory.newSimpleInstance(this, DefaultTrackSelector(), loadControl) + val playerBuilder = SimpleExoPlayer.Builder(this) + playerBuilder.setLoadControl(loadControl) + player = playerBuilder.build() + player.addMetadataOutput { for (i in 0 until it.length()) { val entry = it.get(i) @@ -356,9 +359,19 @@ class RadioService : MediaBrowserServiceCompat() { Log.d(tag, radioTag + "onMetadata: IcyHeaders $entry") } if (entry is IcyInfo) { - Log.d(tag, radioTag + "onMetadata: Title ----> ${entry.title}") + Log.e(tag, radioTag + "onMetadata: Title ----> ${entry.title}") // Note : Kotlin supports UTF-8 by default. numberOfSongs++ + val s = entry.title!! + val a = ArrayList() + + for (j in s.indices) + { + a.add(s[j].toInt()) + + } + Log.e(tag, a.toString()) + Log.e(tag, "raw: ${it}") val data = entry.title!! PlayerStore.instance.currentSong.setTitleArtist(data) }