From 940d7620a1c721f215f9585c44f57bd4cc956625 Mon Sep 17 00:00:00 2001 From: Li ZongYing Date: Tue, 2 Jan 2024 22:44:08 +0800 Subject: [PATCH] clean channel --- .../java/com/lizongying/mytv/MainFragment.kt | 6 -- .../com/lizongying/mytv/PlayerFragment.kt | 72 ++++++++++++++++++- .../main/java/com/lizongying/mytv/TVList.kt | 57 --------------- 3 files changed, 69 insertions(+), 66 deletions(-) diff --git a/app/src/main/java/com/lizongying/mytv/MainFragment.kt b/app/src/main/java/com/lizongying/mytv/MainFragment.kt index 7c3f674..5513cdb 100644 --- a/app/src/main/java/com/lizongying/mytv/MainFragment.kt +++ b/app/src/main/java/com/lizongying/mytv/MainFragment.kt @@ -210,12 +210,6 @@ class MainFragment : BrowseSupportFragment() { } } - fun focus() { - if (!view?.isFocused!!) { - view?.requestFocus() - } - } - fun fragmentReady() { ready++ Log.i(TAG, "ready $ready") diff --git a/app/src/main/java/com/lizongying/mytv/PlayerFragment.kt b/app/src/main/java/com/lizongying/mytv/PlayerFragment.kt index d7b31fc..71c3431 100644 --- a/app/src/main/java/com/lizongying/mytv/PlayerFragment.kt +++ b/app/src/main/java/com/lizongying/mytv/PlayerFragment.kt @@ -9,10 +9,14 @@ import android.view.ViewTreeObserver import androidx.annotation.OptIn import androidx.fragment.app.Fragment import androidx.media3.common.MediaItem +import androidx.media3.common.PlaybackException import androidx.media3.common.Player import androidx.media3.common.VideoSize import androidx.media3.common.util.UnstableApi import androidx.media3.exoplayer.ExoPlayer +import androidx.media3.exoplayer.analytics.AnalyticsListener +import androidx.media3.exoplayer.source.LoadEventInfo +import androidx.media3.exoplayer.source.MediaLoadData import androidx.media3.ui.PlayerView import com.lizongying.mytv.databinding.PlayerBinding import com.lizongying.mytv.models.TVViewModel @@ -58,9 +62,11 @@ class PlayerFragment : Fragment() { } } -// override fun onPlayerError(error: PlaybackException) { -// super.onPlayerError(error) -// } + override fun onPlayerError(error: PlaybackException) { + super.onPlayerError(error) + + Log.e(TAG, "PlaybackException $error") + } }) } }) @@ -79,6 +85,66 @@ class PlayerFragment : Fragment() { videoUrlCurrent?.let { mediaItem.setUri(it) } setMediaItem(mediaItem.build()) prepare() + +// val httpDataSource = DefaultHttpDataSource.Factory() +// val hls = HlsMediaSource.Factory(httpDataSource).createMediaSource( +// MediaItem.fromUri( +// Uri.parse(videoUrlCurrent) +// ) +// ) +// val analyticsListener: AnalyticsListener= MyAnalyticsListener() +// val exoPlayer = playerView?.player as ExoPlayer +// exoPlayer.addAnalyticsListener(analyticsListener) +// exoPlayer.setMediaSource(hls) +// exoPlayer.playWhenReady = true +// +// +// exoPlayer.let { +// val parameters = +// TrackSelectionParameters.Builder().setPreferredAudioMimeType("application/id3").build() +// // 更新轨道选择器参数 +// exoPlayer.trackSelector?.parameters = parameters +// Log.i(TAG, "parameters $parameters") +// } +// +// // 获取当前轨道组 +// +// playerView?.player = exoPlayer +// playerView?.player?.prepare() + + +// +// if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) { +// val codecList = MediaCodecList(MediaCodecList.ALL_CODECS) +// val codecInfos = codecList.codecInfos +// +// for (codecInfo in codecInfos) { +// +// val supportedTypes = codecInfo.supportedTypes +// for (type in supportedTypes) { +// Log.d("supportedTypes", "$type") +//// if (type.equals(androidx.media3.exoplayer.mediacode, ignoreCase = true)) { +//// Log.d("AudioCodecChecker", "Device supports MPEG-L2") +//// return +//// } +// } +// } +// +// Log.d("AudioCodecChecker", "Device does not support MPEG-L2") +// } + + } + } + + @UnstableApi + class MyAnalyticsListener : AnalyticsListener { + override fun onLoadStarted( + eventTime: AnalyticsListener.EventTime, + loadEventInfo: LoadEventInfo, + mediaLoadData: MediaLoadData + ) { + super.onLoadStarted(eventTime, loadEventInfo, mediaLoadData) +// Log.i(TAG, "loadEventInfo.uri ${loadEventInfo.uri} ${mediaLoadData.trackFormat.toString()}") } } diff --git a/app/src/main/java/com/lizongying/mytv/TVList.kt b/app/src/main/java/com/lizongying/mytv/TVList.kt index 03d9e9c..7df857c 100644 --- a/app/src/main/java/com/lizongying/mytv/TVList.kt +++ b/app/src/main/java/com/lizongying/mytv/TVList.kt @@ -6,43 +6,24 @@ object TVList { } private var mappingLogo = mapOf( - "CCTV4K" to "https://resources.yangshipin.cn/assets/oms/image/202306/3e9d06fd7244d950df5838750f1c6ac3456e172b51caca2c16d2282125b111e8.png?imageMogr2/format/webp", "CCTV4K 超高清" to "https://resources.yangshipin.cn/assets/oms/image/202306/3e9d06fd7244d950df5838750f1c6ac3456e172b51caca2c16d2282125b111e8.png?imageMogr2/format/webp", - "CCTV1" to "https://resources.yangshipin.cn/assets/oms/image/202306/d57905b93540bd15f0c48230dbbbff7ee0d645ff539e38866e2d15c8b9f7dfcd.png?imageMogr2/format/webp", "CCTV1 综合" to "https://resources.yangshipin.cn/assets/oms/image/202306/d57905b93540bd15f0c48230dbbbff7ee0d645ff539e38866e2d15c8b9f7dfcd.png?imageMogr2/format/webp", - "CCTV2" to "https://resources.yangshipin.cn/assets/oms/image/202306/20115388de0207131af17eac86c33049b95d69eaff064e55653a1b941810a006.png?imageMogr2/format/webp", "CCTV2 财经" to "https://resources.yangshipin.cn/assets/oms/image/202306/20115388de0207131af17eac86c33049b95d69eaff064e55653a1b941810a006.png?imageMogr2/format/webp", - "CCTV3" to "https://resources.yangshipin.cn/assets/oms/image/202306/7b7a65c712450da3deb6ca66fbacf4f9aee00d3f20bd80eafb5ada01ec63eb3a.png?imageMogr2/format/webp", "CCTV3 综艺" to "https://resources.yangshipin.cn/assets/oms/image/202306/7b7a65c712450da3deb6ca66fbacf4f9aee00d3f20bd80eafb5ada01ec63eb3a.png?imageMogr2/format/webp", - "CCTV4" to "https://resources.yangshipin.cn/assets/oms/image/202306/f357e58fdbcc076a3d65e1f958c942b2e14f14342c60736ceed98b092d35356a.png?imageMogr2/format/webp", "CCTV4 中文国际" to "https://resources.yangshipin.cn/assets/oms/image/202306/f357e58fdbcc076a3d65e1f958c942b2e14f14342c60736ceed98b092d35356a.png?imageMogr2/format/webp", - "CCTV5" to "https://resources.yangshipin.cn/assets/oms/image/202306/0a6a7138952675983a3d854df7688557b286d59aa06166edae51506f9204d655.png?imageMogr2/format/webp", "CCTV5 体育" to "https://resources.yangshipin.cn/assets/oms/image/202306/0a6a7138952675983a3d854df7688557b286d59aa06166edae51506f9204d655.png?imageMogr2/format/webp", - "CCTV5+" to "https://resources.yangshipin.cn/assets/oms/image/202306/649ad76a90bfef55b05db9fe52e006487280f619089099d5dc971e387fc6eff0.png?imageMogr2/format/webp", "CCTV5+ 体育赛事" to "https://resources.yangshipin.cn/assets/oms/image/202306/649ad76a90bfef55b05db9fe52e006487280f619089099d5dc971e387fc6eff0.png?imageMogr2/format/webp", - "CCTV6" to "https://resources.yangshipin.cn/assets/oms/image/202306/741515efda91f03f455df8a7da4ee11fa9329139c276435cf0a9e2af398d5bf2.png?imageMogr2/format/webp", "CCTV6 电影" to "https://resources.yangshipin.cn/assets/oms/image/202306/741515efda91f03f455df8a7da4ee11fa9329139c276435cf0a9e2af398d5bf2.png?imageMogr2/format/webp", - "CCTV7" to "https://resources.yangshipin.cn/assets/oms/image/202306/b29af94e295ebdf646cefb68122c429b9cd921f498ca20d2d8070252536f9ff9.png?imageMogr2/format/webp", "CCTV7 国防军事" to "https://resources.yangshipin.cn/assets/oms/image/202306/b29af94e295ebdf646cefb68122c429b9cd921f498ca20d2d8070252536f9ff9.png?imageMogr2/format/webp", - "CCTV8" to "https://resources.yangshipin.cn/assets/oms/image/202306/ad51de94426a0ba039e6dd6a8534ea98ecc813a6176bde87b4f18cc34d6d7590.png?imageMogr2/format/webp", "CCTV8 电视剧" to "https://resources.yangshipin.cn/assets/oms/image/202306/ad51de94426a0ba039e6dd6a8534ea98ecc813a6176bde87b4f18cc34d6d7590.png?imageMogr2/format/webp", - "CCTV9" to "https://resources.yangshipin.cn/assets/oms/image/202306/2ed1b4deeca179d5db806bb941790f82eb92a1b7299c1c38fe027f95a5caee5e.png?imageMogr2/format/webp", "CCTV9 记录" to "https://resources.yangshipin.cn/assets/oms/image/202306/2ed1b4deeca179d5db806bb941790f82eb92a1b7299c1c38fe027f95a5caee5e.png?imageMogr2/format/webp", - "CCTV10" to "https://resources.yangshipin.cn/assets/oms/image/202306/aa6157ec65188cd41826e5a2f088c3d6d153205f5f6428258d12c59999e221aa.png?imageMogr2/format/webp", "CCTV10 科教" to "https://resources.yangshipin.cn/assets/oms/image/202306/aa6157ec65188cd41826e5a2f088c3d6d153205f5f6428258d12c59999e221aa.png?imageMogr2/format/webp", - "CCTV11" to "https://resources.yangshipin.cn/assets/oms/image/202306/ed12ed7c7a1034dae4350011fe039284c5d5a836506b28c9e32e3c75299625c0.png?imageMogr2/format/webp", "CCTV11 戏曲" to "https://resources.yangshipin.cn/assets/oms/image/202306/ed12ed7c7a1034dae4350011fe039284c5d5a836506b28c9e32e3c75299625c0.png?imageMogr2/format/webp", - "CCTV12" to "https://resources.yangshipin.cn/assets/oms/image/202306/484083cffaa40df7e659565e8cb4d1cc740158a185512114167aa21fa0c59240.png?imageMogr2/format/webp", "CCTV12 社会与法" to "https://resources.yangshipin.cn/assets/oms/image/202306/484083cffaa40df7e659565e8cb4d1cc740158a185512114167aa21fa0c59240.png?imageMogr2/format/webp", - "CCTV13" to "https://resources.yangshipin.cn/assets/oms/image/202306/266da7b43c03e2312186b4a999e0f060e8f15b10d2cc2c9aa32171819254cf1a.png?imageMogr2/format/webp", "CCTV13 新闻" to "https://resources.yangshipin.cn/assets/oms/image/202306/266da7b43c03e2312186b4a999e0f060e8f15b10d2cc2c9aa32171819254cf1a.png?imageMogr2/format/webp", - "CCTV14" to "https://resources.yangshipin.cn/assets/oms/image/202306/af6b603896938dc346fbb16abfc63c12cba54b0ec9d18770a15d347d115f12d5.png?imageMogr2/format/webp", "CCTV14 少儿" to "https://resources.yangshipin.cn/assets/oms/image/202306/af6b603896938dc346fbb16abfc63c12cba54b0ec9d18770a15d347d115f12d5.png?imageMogr2/format/webp", - "CCTV15" to "https://resources.yangshipin.cn/assets/oms/image/202306/2ceee92188ef684efe0d8b90839c4f3ad450d179dc64d59beff417059453af47.png?imageMogr2/format/webp", "CCTV15 音乐" to "https://resources.yangshipin.cn/assets/oms/image/202306/2ceee92188ef684efe0d8b90839c4f3ad450d179dc64d59beff417059453af47.png?imageMogr2/format/webp", - "CCTV16" to "https://resources.yangshipin.cn/assets/oms/image/202306/53793fa7bacd3a93ff6dc5d2758418985e1f952a316c335d663b572d8bdcd74d.png?imageMogr2/format/webp", "CCTV16 奥林匹克" to "https://resources.yangshipin.cn/assets/oms/image/202306/53793fa7bacd3a93ff6dc5d2758418985e1f952a316c335d663b572d8bdcd74d.png?imageMogr2/format/webp", - "CCTV17" to "https://resources.yangshipin.cn/assets/oms/image/202306/ddef563072f8bad2bea5b9e52674cb7b4ed50efb20c26e61994dfbdf05c1e3c0.png?imageMogr2/format/webp", "CCTV17 农业农村" to "https://resources.yangshipin.cn/assets/oms/image/202306/ddef563072f8bad2bea5b9e52674cb7b4ed50efb20c26e61994dfbdf05c1e3c0.png?imageMogr2/format/webp", "CGTN" to "https://resources.yangshipin.cn/assets/oms/image/202306/a72dff758ca1c17cd0ecc8cedc11b893d208f409d5e6302faa0e9d298848abc3.png?imageMogr2/format/webp", "CGTN 法语频道" to "https://resources.yangshipin.cn/assets/oms/image/202306/a8d0046a47433d952bf6ed17062deb8bd2184ba9aec0f7781df6bf9487a3ffcf.png?imageMogr2/format/webp", @@ -87,43 +68,24 @@ object TVList { "海南卫视" to "https://resources.yangshipin.cn/assets/oms/image/202306/6e060391fde0469801fc3d84dbf204b4f8d650d251f17d7595a6964c0bb99e81.png?imageMogr2/format/webp", ) private var mappingEPG = mapOf( - "CCTV4K" to "600002264", "CCTV4K 超高清" to "600002264", - "CCTV1" to "600001859", "CCTV1 综合" to "600001859", - "CCTV2" to "600001800", "CCTV2 财经" to "600001800", - "CCTV3" to "600001801", "CCTV3 综艺" to "600001801", - "CCTV4" to "600001814", "CCTV4 中文国际" to "600001814", - "CCTV5" to "600001818", "CCTV5 体育" to "600001818", - "CCTV5+" to "600001817", "CCTV5+ 体育赛事" to "600001817", - "CCTV6" to "600001802", "CCTV6 电影" to "600001802", - "CCTV7" to "600004092", "CCTV7 国防军事" to "600004092", - "CCTV8" to "600001803", "CCTV8 电视剧" to "600001803", - "CCTV9" to "600004078", "CCTV9 记录" to "600004078", - "CCTV10" to "600001805", "CCTV10 科教" to "600001805", - "CCTV11" to "600001806", "CCTV11 戏曲" to "600001806", - "CCTV12" to "600001807", "CCTV12 社会与法" to "600001807", - "CCTV13" to "600001811", "CCTV13 新闻" to "600001811", - "CCTV14" to "600001809", "CCTV14 少儿" to "600001809", - "CCTV15" to "600001815", "CCTV15 音乐" to "600001815", - "CCTV16" to "600098637", "CCTV16 奥林匹克" to "600098637", - "CCTV17" to "600001810", "CCTV17 农业农村" to "600001810", "CGTN" to "600014550", "CGTN 法语频道" to "600084704", @@ -168,43 +130,24 @@ object TVList { "海南卫视" to "600002506", ) private var mappingVideo = mapOf( - "CCTV4K" to arrayOf("600002264", "2000266303"), "CCTV4K 超高清" to arrayOf("600002264", "2000266303"), - "CCTV1" to arrayOf("600001859", "2000210103"), "CCTV1 综合" to arrayOf("600001859", "2000210103"), - "CCTV2" to arrayOf("600001800", "2000203603"), "CCTV2 财经" to arrayOf("600001800", "2000203603"), -// "CCTV3" to arrayOf("600001801",""), // "CCTV3 综艺" to arrayOf("600001801",""), - "CCTV4" to arrayOf("600001814", "2000204803"), "CCTV4 中文国际" to arrayOf("600001814", "2000204803"), - "CCTV5" to arrayOf("600001818", "2000205103"), "CCTV5 体育" to arrayOf("600001818", "2000205103"), - "CCTV5+" to arrayOf("600001817", "2000204503"), "CCTV5+ 体育赛事" to arrayOf("600001817", "2000204503"), -// "CCTV6" to arrayOf("600001802",""), // "CCTV6 电影" to arrayOf("600001802",""), - "CCTV7" to arrayOf("600004092", "2000510003"), "CCTV7 国防军事" to arrayOf("600004092", "2000510003"), -// "CCTV8" to arrayOf("600001803",""), // "CCTV8 电视剧" to arrayOf("600001803",""), - "CCTV9" to arrayOf("600004078", "2000499403"), "CCTV9 记录" to arrayOf("600004078", "2000499403"), - "CCTV10" to arrayOf("600001805", "2000203503"), "CCTV10 科教" to arrayOf("600001805", "2000203503"), - "CCTV11" to arrayOf("600001806", "2000204103"), "CCTV11 戏曲" to arrayOf("600001806", "2000204103"), - "CCTV12" to arrayOf("600001807", "2000202603"), "CCTV12 社会与法" to arrayOf("600001807", "2000202603"), -// "CCTV13" to arrayOf("600001811",""), // "CCTV13 新闻" to arrayOf("600001811",""), - "CCTV14" to arrayOf("600001809", "2000204403"), "CCTV14 少儿" to arrayOf("600001809", "2000204403"), - "CCTV15" to arrayOf("600001815", "2000205003"), "CCTV15 音乐" to arrayOf("600001815", "2000205003"), - "CCTV16" to arrayOf("600098637", "2012375003"), "CCTV16 奥林匹克" to arrayOf("600098637", "2012375003"), - "CCTV17" to arrayOf("600001810", "2000204203"), "CCTV17 农业农村" to arrayOf("600001810", "2000204203"), "CGTN" to arrayOf("600014550", "2001656803"), "CGTN 法语频道" to arrayOf("600084704", "2010153503"),