Merge remote-tracking branch 'origin/main'
This commit is contained in:
commit
b4abe0ccc6
24
README.md
24
README.md
|
@ -14,10 +14,18 @@
|
|||
|
||||
## 更新日志
|
||||
|
||||
### v1.5.2(通用版)
|
||||
|
||||
* 修复APP恢复后频道号、频道列表不自动消失的问题
|
||||
|
||||
### v1.5.1(高版本专用)
|
||||
|
||||
* 性能优化
|
||||
|
||||
### v1.5.0(通用版)
|
||||
|
||||
* 修复部分情况下APP切换后无法继续播放的问题
|
||||
|
||||
### v1.4.9(高版本专用)
|
||||
|
||||
* 同步v1.4.8
|
||||
|
@ -86,6 +94,22 @@
|
|||
adb install my-tv.apk
|
||||
```
|
||||
|
||||
## TODO
|
||||
|
||||
* 音量不同
|
||||
* 大湾区卫视、广东4k超高清、广东珠江
|
||||
* CETV教育频道
|
||||
* CHC高清三个电影频道
|
||||
* 地方频道
|
||||
* 收藏夹
|
||||
* 自定义源
|
||||
* 凤凰卫视、凤凰资讯台
|
||||
* 海外
|
||||
* 1.5.0 无法安装,1.5.1 可以安装
|
||||
* 获取系统时间
|
||||
* 选中的图标比例能否相差更大
|
||||
* 自动重连
|
||||
|
||||
## 赞赏
|
||||
|
||||

|
|
@ -5,7 +5,7 @@ plugins {
|
|||
|
||||
android {
|
||||
namespace 'com.lizongying.mytv'
|
||||
compileSdk 33
|
||||
compileSdk 34
|
||||
|
||||
viewBinding {
|
||||
enabled = true
|
||||
|
@ -90,7 +90,7 @@ static def VersionName() {
|
|||
}
|
||||
|
||||
dependencies {
|
||||
def media3_version = "1.1.1"
|
||||
def media3_version = "1.2.1"
|
||||
|
||||
implementation "androidx.media3:media3-ui:$media3_version"
|
||||
|
||||
|
|
Binary file not shown.
|
@ -48,6 +48,13 @@ class ChannelFragment : Fragment() {
|
|||
}
|
||||
}
|
||||
|
||||
override fun onResume() {
|
||||
super.onResume()
|
||||
if (view?.visibility == View.VISIBLE) {
|
||||
handler.postDelayed(hideRunnable, delay)
|
||||
}
|
||||
}
|
||||
|
||||
override fun onPause() {
|
||||
super.onPause()
|
||||
handler.removeCallbacks(hideRunnable)
|
||||
|
|
|
@ -175,7 +175,7 @@ class MainActivity : FragmentActivity() {
|
|||
}
|
||||
|
||||
override fun onFling(
|
||||
e1: MotionEvent,
|
||||
e1: MotionEvent?,
|
||||
e2: MotionEvent,
|
||||
velocityX: Float,
|
||||
velocityY: Float
|
||||
|
@ -496,6 +496,9 @@ class MainActivity : FragmentActivity() {
|
|||
override fun onResume() {
|
||||
Log.i(TAG, "onResume")
|
||||
super.onResume()
|
||||
if (!mainFragment.isHidden){
|
||||
handler.postDelayed(hideMain, delayHideMain)
|
||||
}
|
||||
}
|
||||
|
||||
override fun onPause() {
|
||||
|
|
|
@ -40,6 +40,8 @@ class Request {
|
|||
private var tokenRunnable: TokenRunnable = TokenRunnable()
|
||||
|
||||
private val regex = Regex("""des_key = "([^"]+).+var des_iv = "([^"]+)""")
|
||||
private val input =
|
||||
"""{"mver":"1","subver":"1.2","host":"www.yangshipin.cn/#/tv/home?pid=","referer":"","canvas":"YSPANGLE(Apple,AppleM1Pro,OpenGL4.1)"}""".toByteArray()
|
||||
|
||||
private var mapping = mapOf(
|
||||
"CCTV4K" to "CCTV4K 超高清",
|
||||
|
@ -132,7 +134,7 @@ class Request {
|
|||
keyBytes + byteArrayOf(0, 0, 0, 0, 0, 0, 0, 0),
|
||||
ivBytes
|
||||
).uppercase()
|
||||
Log.d(TAG, "$title url $url")
|
||||
// Log.d(TAG, "$title url $url")
|
||||
tvModel.addVideoUrl(url)
|
||||
tvModel.allReady()
|
||||
tvModel.retryTimes = 0
|
||||
|
@ -200,7 +202,7 @@ class Request {
|
|||
}
|
||||
|
||||
override fun onFailure(call: Call<LiveInfo>, t: Throwable) {
|
||||
Log.e(TAG, "$title request error")
|
||||
Log.e(TAG, "$title request error $t")
|
||||
if (tvModel.retryTimes < tvModel.retryMaxTimes) {
|
||||
tvModel.retryTimes++
|
||||
if (tvModel.getTV().needToken) {
|
||||
|
@ -229,7 +231,7 @@ class Request {
|
|||
token = response.body()?.data?.token!!
|
||||
Log.i(TAG, "info success $token")
|
||||
val cookie =
|
||||
"vplatform=109; yspopenid=vu0-8lgGV2LW9QjDeuBFsX8yMnzs37Q3_HZF6XyVDpGR_I; vusession=$token"
|
||||
"versionName=99.99.99; versionCode=999999; vplatform=109; platformVersion=Chrome; deviceModel=120; yspappid=519748109;yspopenid=vu0-8lgGV2LW9QjDeuBFsX8yMnzs37Q3_HZF6XyVDpGR_I; vusession=$token"
|
||||
fetchVideo(tvModel, cookie)
|
||||
} else {
|
||||
Log.e(TAG, "info status error")
|
||||
|
@ -238,7 +240,8 @@ class Request {
|
|||
fetchVideo(tvModel)
|
||||
} else {
|
||||
if (!tvModel.getTV().mustToken) {
|
||||
val cookie = "vplatform=109"
|
||||
val cookie =
|
||||
"versionName=99.99.99; versionCode=999999; vplatform=109; platformVersion=Chrome; deviceModel=120; yspappid=519748109"
|
||||
fetchVideo(tvModel, cookie)
|
||||
}
|
||||
}
|
||||
|
@ -252,7 +255,8 @@ class Request {
|
|||
fetchVideo(tvModel)
|
||||
} else {
|
||||
if (!tvModel.getTV().mustToken) {
|
||||
val cookie = "vplatform=109"
|
||||
val cookie =
|
||||
"versionName=99.99.99; versionCode=999999; vplatform=109; platformVersion=Chrome; deviceModel=120; yspappid=519748109"
|
||||
fetchVideo(tvModel, cookie)
|
||||
}
|
||||
}
|
||||
|
@ -260,7 +264,7 @@ class Request {
|
|||
})
|
||||
} else {
|
||||
val cookie =
|
||||
"vplatform=109; yspopenid=vu0-8lgGV2LW9QjDeuBFsX8yMnzs37Q3_HZF6XyVDpGR_I; vusession=$token"
|
||||
"versionName=99.99.99; versionCode=999999; vplatform=109; platformVersion=Chrome; deviceModel=120; yspappid=519748109;yspopenid=vu0-8lgGV2LW9QjDeuBFsX8yMnzs37Q3_HZF6XyVDpGR_I; vusession=$token"
|
||||
fetchVideo(tvModel, cookie)
|
||||
}
|
||||
}
|
||||
|
@ -269,7 +273,8 @@ class Request {
|
|||
if (tvModel.getTV().needToken) {
|
||||
fetchVideo(tvModel)
|
||||
} else {
|
||||
val cookie = "vplatform=109"
|
||||
val cookie =
|
||||
"versionName=99.99.99; versionCode=999999; vplatform=109; platformVersion=Chrome; deviceModel=120; yspappid=519748109"
|
||||
fetchVideo(tvModel, cookie)
|
||||
}
|
||||
}
|
||||
|
@ -410,15 +415,12 @@ class Request {
|
|||
}
|
||||
|
||||
private fun encryptTripleDES(key: ByteArray, iv: ByteArray): String {
|
||||
val plaintext =
|
||||
"""{"mver":"1","subver":"1.2","host":"www.yangshipin.cn/#/tv/home?pid=","referer":"","canvas":"YSPANGLE(Apple,AppleM1Pro,OpenGL4.1)"}"""
|
||||
return try {
|
||||
val keySpec = SecretKeySpec(key, "DESede")
|
||||
val ivSpec = IvParameterSpec(iv)
|
||||
val cipher = Cipher.getInstance("DESede/CBC/PKCS5Padding")
|
||||
cipher.init(Cipher.ENCRYPT_MODE, keySpec, ivSpec)
|
||||
val encryptedBytes = cipher.doFinal(plaintext.toByteArray())
|
||||
return encryptedBytes.let { it -> it.joinToString("") { "%02x".format(it) } }
|
||||
return cipher.doFinal(input).let { it -> it.joinToString("") { "%02x".format(it) } }
|
||||
} catch (e: Exception) {
|
||||
e.printStackTrace()
|
||||
""
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
"pid": "600001800",
|
||||
"sid": "2000203603",
|
||||
"programId": "600001800",
|
||||
"needToken": false,
|
||||
"needToken": true,
|
||||
"mustToken": false,
|
||||
"title": "CCTV2 财经",
|
||||
"videoUrl": [
|
||||
|
@ -37,8 +37,8 @@
|
|||
"pid": "600001801",
|
||||
"sid": "2000203803",
|
||||
"programId": "600001801",
|
||||
"needToken": false,
|
||||
"mustToken": false,
|
||||
"needToken": true,
|
||||
"mustToken": true,
|
||||
"title": "CCTV3 综艺",
|
||||
"videoUrl": [
|
||||
"http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226397/index.m3u8"
|
||||
|
@ -68,7 +68,7 @@
|
|||
"pid": "600001818",
|
||||
"sid": "2000205103",
|
||||
"programId": "600001818",
|
||||
"needToken": false,
|
||||
"needToken": true,
|
||||
"mustToken": false,
|
||||
"title": "CCTV5 体育",
|
||||
"videoUrl": [
|
||||
|
@ -83,8 +83,8 @@
|
|||
"pid": "600001802",
|
||||
"sid": "2013693901",
|
||||
"programId": "600001802",
|
||||
"needToken": false,
|
||||
"mustToken": false,
|
||||
"needToken": true,
|
||||
"mustToken": true,
|
||||
"title": "CCTV6 电影",
|
||||
"videoUrl": [
|
||||
"http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226393/index.m3u8"
|
||||
|
@ -98,7 +98,7 @@
|
|||
"pid": "600004092",
|
||||
"sid": "2000510003",
|
||||
"programId": "600004092",
|
||||
"needToken": false,
|
||||
"needToken": true,
|
||||
"mustToken": false,
|
||||
"title": "CCTV7 国防军事",
|
||||
"videoUrl": [
|
||||
|
@ -113,8 +113,8 @@
|
|||
"pid": "600001803",
|
||||
"sid": "2000203903",
|
||||
"programId": "600001803",
|
||||
"needToken": false,
|
||||
"mustToken": false,
|
||||
"needToken": true,
|
||||
"mustToken": true,
|
||||
"title": "CCTV8 电视剧",
|
||||
"videoUrl": [
|
||||
"http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226391/index.m3u8"
|
||||
|
@ -128,7 +128,7 @@
|
|||
"pid": "600004078",
|
||||
"sid": "2000499403",
|
||||
"programId": "600004078",
|
||||
"needToken": false,
|
||||
"needToken": true,
|
||||
"mustToken": false,
|
||||
"title": "CCTV9 记录",
|
||||
"videoUrl": [
|
||||
|
@ -143,7 +143,7 @@
|
|||
"pid": "600001805",
|
||||
"sid": "2000203503",
|
||||
"programId": "600001805",
|
||||
"needToken": false,
|
||||
"needToken": true,
|
||||
"mustToken": false,
|
||||
"title": "CCTV10 科教",
|
||||
"videoUrl": [
|
||||
|
@ -158,7 +158,7 @@
|
|||
"pid": "600001806",
|
||||
"sid": "2000204103",
|
||||
"programId": "600001806",
|
||||
"needToken": false,
|
||||
"needToken": true,
|
||||
"mustToken": false,
|
||||
"title": "CCTV11 戏曲",
|
||||
"videoUrl": [
|
||||
|
@ -173,7 +173,7 @@
|
|||
"pid": "600001807",
|
||||
"sid": "2000202603",
|
||||
"programId": "600001807",
|
||||
"needToken": false,
|
||||
"needToken": true,
|
||||
"mustToken": false,
|
||||
"title": "CCTV12 社会与法",
|
||||
"videoUrl": [
|
||||
|
@ -204,7 +204,7 @@
|
|||
"pid": "600001809",
|
||||
"sid": "2000204403",
|
||||
"programId": "600001809",
|
||||
"needToken": false,
|
||||
"needToken": true,
|
||||
"mustToken": false,
|
||||
"title": "CCTV14 少儿",
|
||||
"videoUrl": [
|
||||
|
@ -219,7 +219,7 @@
|
|||
"pid": "600001815",
|
||||
"sid": "2000205003",
|
||||
"programId": "600001815",
|
||||
"needToken": false,
|
||||
"needToken": true,
|
||||
"mustToken": false,
|
||||
"title": "CCTV15 音乐",
|
||||
"videoUrl": [
|
||||
|
@ -234,7 +234,7 @@
|
|||
"pid": "600098637",
|
||||
"sid": "2012375003",
|
||||
"programId": "600098637",
|
||||
"needToken": false,
|
||||
"needToken": true,
|
||||
"mustToken": false,
|
||||
"title": "CCTV16 奥林匹克",
|
||||
"videoUrl": [
|
||||
|
@ -250,7 +250,7 @@
|
|||
"pid": "600001810",
|
||||
"sid": "2000204203",
|
||||
"programId": "600001810",
|
||||
"needToken": false,
|
||||
"needToken": true,
|
||||
"mustToken": false,
|
||||
"title": "CCTV17 农业农村",
|
||||
"videoUrl": [
|
||||
|
@ -265,7 +265,7 @@
|
|||
"pid": "600001817",
|
||||
"sid": "2000204503",
|
||||
"programId": "600001817",
|
||||
"needToken": false,
|
||||
"needToken": true,
|
||||
"mustToken": false,
|
||||
"title": "CCTV5+ 体育赛事",
|
||||
"videoUrl": [
|
||||
|
@ -280,7 +280,7 @@
|
|||
"pid": "600002264",
|
||||
"sid": "2000266303",
|
||||
"programId": "600002264",
|
||||
"needToken": false,
|
||||
"needToken": true,
|
||||
"mustToken": false,
|
||||
"title": "CCTV4K 超高清",
|
||||
"videoUrl": [
|
||||
|
@ -310,8 +310,8 @@
|
|||
"pid": "600099658",
|
||||
"sid": "2012513603",
|
||||
"programId": "600099658",
|
||||
"needToken": false,
|
||||
"mustToken": false,
|
||||
"needToken": true,
|
||||
"mustToken": true,
|
||||
"title": "风云剧场",
|
||||
"videoUrl": [
|
||||
"http://dbiptv.sn.chinamobile.com/PLTV/88888893/224/3221226950/index.m3u8"
|
||||
|
@ -325,8 +325,8 @@
|
|||
"pid": "600099655",
|
||||
"sid": "2012514403",
|
||||
"programId": "600099655",
|
||||
"needToken": false,
|
||||
"mustToken": false,
|
||||
"needToken": true,
|
||||
"mustToken": true,
|
||||
"title": "第一剧场",
|
||||
"videoUrl": [
|
||||
"http://dbiptv.sn.chinamobile.com/PLTV/88888893/224/3221226959/index.m3u8"
|
||||
|
@ -340,8 +340,8 @@
|
|||
"pid": "600099620",
|
||||
"sid": "2012511203",
|
||||
"programId": "600099620",
|
||||
"needToken": false,
|
||||
"mustToken": false,
|
||||
"needToken": true,
|
||||
"mustToken": true,
|
||||
"title": "怀旧剧场",
|
||||
"videoUrl": [
|
||||
"http://dbiptv.sn.chinamobile.com/PLTV/88888893/224/3221226972/index.m3u8"
|
||||
|
@ -355,8 +355,8 @@
|
|||
"pid": "600099637",
|
||||
"sid": "2012513303",
|
||||
"programId": "600099637",
|
||||
"needToken": false,
|
||||
"mustToken": false,
|
||||
"needToken": true,
|
||||
"mustToken": true,
|
||||
"title": "世界地理",
|
||||
"videoUrl": [
|
||||
""
|
||||
|
@ -370,8 +370,8 @@
|
|||
"pid": "600099660",
|
||||
"sid": "2012514103",
|
||||
"programId": "600099660",
|
||||
"needToken": false,
|
||||
"mustToken": false,
|
||||
"needToken": true,
|
||||
"mustToken": true,
|
||||
"title": "风云音乐",
|
||||
"videoUrl": [
|
||||
"http://dbiptv.sn.chinamobile.com/PLTV/88888893/224/3221226953/index.m3u8"
|
||||
|
@ -385,8 +385,8 @@
|
|||
"pid": "600099649",
|
||||
"sid": "2012513403",
|
||||
"programId": "600099649",
|
||||
"needToken": false,
|
||||
"mustToken": false,
|
||||
"needToken": true,
|
||||
"mustToken": true,
|
||||
"title": "兵器科技",
|
||||
"videoUrl": [
|
||||
"http://dbiptv.sn.chinamobile.com/PLTV/88888893/224/3221226975/index.m3u8"
|
||||
|
@ -400,8 +400,8 @@
|
|||
"pid": "600099636",
|
||||
"sid": "2012514203",
|
||||
"programId": "600099636",
|
||||
"needToken": false,
|
||||
"mustToken": false,
|
||||
"needToken": true,
|
||||
"mustToken": true,
|
||||
"title": "风云足球",
|
||||
"videoUrl": [
|
||||
"http://dbiptv.sn.chinamobile.com/PLTV/88888893/224/3221226984/index.m3u8"
|
||||
|
@ -415,8 +415,8 @@
|
|||
"pid": "600099659",
|
||||
"sid": "2012512503",
|
||||
"programId": "600099659",
|
||||
"needToken": false,
|
||||
"mustToken": false,
|
||||
"needToken": true,
|
||||
"mustToken": true,
|
||||
"title": "高尔夫网球",
|
||||
"videoUrl": [
|
||||
"http://dbiptv.sn.chinamobile.com/PLTV/88888893/224/3221226978/index.m3u8"
|
||||
|
@ -430,8 +430,8 @@
|
|||
"pid": "600099650",
|
||||
"sid": "2012513903",
|
||||
"programId": "600099650",
|
||||
"needToken": false,
|
||||
"mustToken": false,
|
||||
"needToken": true,
|
||||
"mustToken": true,
|
||||
"title": "女性时尚",
|
||||
"videoUrl": [
|
||||
"http://dbiptv.sn.chinamobile.com/PLTV/88888893/224/3221226969/index.m3u8"
|
||||
|
@ -445,8 +445,8 @@
|
|||
"pid": "600099653",
|
||||
"sid": "2012513803",
|
||||
"programId": "600099653",
|
||||
"needToken": false,
|
||||
"mustToken": false,
|
||||
"needToken": true,
|
||||
"mustToken": true,
|
||||
"title": "央视文化精品",
|
||||
"videoUrl": [
|
||||
"http://dbiptv.sn.chinamobile.com/PLTV/88888893/224/3221226981/index.m3u8"
|
||||
|
@ -460,8 +460,8 @@
|
|||
"pid": "600099652",
|
||||
"sid": "2012513703",
|
||||
"programId": "600099652",
|
||||
"needToken": false,
|
||||
"mustToken": false,
|
||||
"needToken": true,
|
||||
"mustToken": true,
|
||||
"title": "央视台球",
|
||||
"videoUrl": [
|
||||
"http://dbiptv.sn.chinamobile.com/PLTV/88888893/224/3221226956/index.m3u8"
|
||||
|
@ -475,8 +475,8 @@
|
|||
"pid": "600099656",
|
||||
"sid": "2012514003",
|
||||
"programId": "600099656",
|
||||
"needToken": false,
|
||||
"mustToken": false,
|
||||
"needToken": true,
|
||||
"mustToken": true,
|
||||
"title": "电视指南",
|
||||
"videoUrl": [
|
||||
"http://dbiptv.sn.chinamobile.com/PLTV/88888893/224/3221226987/index.m3u8"
|
||||
|
@ -490,8 +490,8 @@
|
|||
"pid": "600099651",
|
||||
"sid": "2012513503",
|
||||
"programId": "600099651",
|
||||
"needToken": false,
|
||||
"mustToken": false,
|
||||
"needToken": true,
|
||||
"mustToken": true,
|
||||
"title": "卫生健康",
|
||||
"videoUrl": [
|
||||
""
|
||||
|
@ -505,7 +505,7 @@
|
|||
"pid": "600002483",
|
||||
"sid": "2000292403",
|
||||
"programId": "600002483",
|
||||
"needToken": false,
|
||||
"needToken": true,
|
||||
"mustToken": false,
|
||||
"title": "东方卫视",
|
||||
"videoUrl": [
|
||||
|
@ -520,7 +520,7 @@
|
|||
"pid": "600002475",
|
||||
"sid": "2000296203",
|
||||
"programId": "600002475",
|
||||
"needToken": false,
|
||||
"needToken": true,
|
||||
"mustToken": false,
|
||||
"title": "湖南卫视",
|
||||
"videoUrl": [
|
||||
|
@ -536,7 +536,7 @@
|
|||
"pid": "600002508",
|
||||
"sid": "2000294503",
|
||||
"programId": "600002508",
|
||||
"needToken": false,
|
||||
"needToken": true,
|
||||
"mustToken": false,
|
||||
"title": "湖北卫视",
|
||||
"videoUrl": [
|
||||
|
@ -552,7 +552,7 @@
|
|||
"pid": "600002505",
|
||||
"sid": "2000281303",
|
||||
"programId": "600002505",
|
||||
"needToken": false,
|
||||
"needToken": true,
|
||||
"mustToken": false,
|
||||
"title": "辽宁卫视",
|
||||
"videoUrl": [
|
||||
|
@ -568,7 +568,7 @@
|
|||
"pid": "600002521",
|
||||
"sid": "2000295603",
|
||||
"programId": "600002521",
|
||||
"needToken": false,
|
||||
"needToken": true,
|
||||
"mustToken": false,
|
||||
"title": "江苏卫视",
|
||||
"videoUrl": [
|
||||
|
@ -584,7 +584,7 @@
|
|||
"pid": "600002503",
|
||||
"sid": "2000294103",
|
||||
"programId": "600002503",
|
||||
"needToken": false,
|
||||
"needToken": true,
|
||||
"mustToken": false,
|
||||
"title": "江西卫视",
|
||||
"videoUrl": [
|
||||
|
@ -600,7 +600,7 @@
|
|||
"pid": "600002513",
|
||||
"sid": "2000294803",
|
||||
"programId": "600002513",
|
||||
"needToken": false,
|
||||
"needToken": true,
|
||||
"mustToken": false,
|
||||
"title": "山东卫视",
|
||||
"videoUrl": [
|
||||
|
@ -615,7 +615,7 @@
|
|||
"pid": "600002485",
|
||||
"sid": "2000292703",
|
||||
"programId": "600002485",
|
||||
"needToken": false,
|
||||
"needToken": true,
|
||||
"mustToken": false,
|
||||
"title": "广东卫视",
|
||||
"videoUrl": [
|
||||
|
@ -630,7 +630,7 @@
|
|||
"pid": "600002509",
|
||||
"sid": "2000294203",
|
||||
"programId": "600002509",
|
||||
"needToken": false,
|
||||
"needToken": true,
|
||||
"mustToken": false,
|
||||
"title": "广西卫视",
|
||||
"videoUrl": [
|
||||
|
@ -646,7 +646,7 @@
|
|||
"pid": "600002531",
|
||||
"sid": "2000297803",
|
||||
"programId": "600002531",
|
||||
"needToken": false,
|
||||
"needToken": true,
|
||||
"mustToken": false,
|
||||
"title": "重庆卫视",
|
||||
"videoUrl": [
|
||||
|
@ -662,7 +662,7 @@
|
|||
"pid": "600002525",
|
||||
"sid": "2000296103",
|
||||
"programId": "600002525",
|
||||
"needToken": false,
|
||||
"needToken": true,
|
||||
"mustToken": false,
|
||||
"title": "河南卫视",
|
||||
"videoUrl": [
|
||||
|
@ -678,7 +678,7 @@
|
|||
"pid": "600002493",
|
||||
"sid": "2000293403",
|
||||
"programId": "600002493",
|
||||
"needToken": false,
|
||||
"needToken": true,
|
||||
"mustToken": false,
|
||||
"title": "河北卫视",
|
||||
"videoUrl": [
|
||||
|
@ -694,7 +694,7 @@
|
|||
"pid": "600002490",
|
||||
"sid": "2000293303",
|
||||
"programId": "600002490",
|
||||
"needToken": false,
|
||||
"needToken": true,
|
||||
"mustToken": false,
|
||||
"title": "贵州卫视",
|
||||
"videoUrl": [
|
||||
|
@ -710,7 +710,7 @@
|
|||
"pid": "600002309",
|
||||
"sid": "2000272103",
|
||||
"programId": "600002309",
|
||||
"needToken": false,
|
||||
"needToken": true,
|
||||
"mustToken": false,
|
||||
"title": "北京卫视",
|
||||
"videoUrl": [
|
||||
|
@ -726,7 +726,7 @@
|
|||
"pid": "600002498",
|
||||
"sid": "2000293903",
|
||||
"programId": "600002498",
|
||||
"needToken": false,
|
||||
"needToken": true,
|
||||
"mustToken": false,
|
||||
"title": "黑龙江卫视",
|
||||
"videoUrl": [
|
||||
|
@ -742,7 +742,7 @@
|
|||
"pid": "600002520",
|
||||
"sid": "2000295503",
|
||||
"programId": "600002520",
|
||||
"needToken": false,
|
||||
"needToken": true,
|
||||
"mustToken": false,
|
||||
"title": "浙江卫视",
|
||||
"videoUrl": [
|
||||
|
@ -758,7 +758,7 @@
|
|||
"pid": "600002532",
|
||||
"sid": "2000298003",
|
||||
"programId": "600002532",
|
||||
"needToken": false,
|
||||
"needToken": true,
|
||||
"mustToken": false,
|
||||
"title": "安徽卫视",
|
||||
"videoUrl": [
|
||||
|
@ -774,7 +774,7 @@
|
|||
"pid": "600002481",
|
||||
"sid": "2000292203",
|
||||
"programId": "600002481",
|
||||
"needToken": false,
|
||||
"needToken": true,
|
||||
"mustToken": false,
|
||||
"title": "深圳卫视",
|
||||
"videoUrl": [
|
||||
|
@ -790,7 +790,7 @@
|
|||
"pid": "600002516",
|
||||
"sid": "2000295003",
|
||||
"programId": "600002516",
|
||||
"needToken": false,
|
||||
"needToken": true,
|
||||
"mustToken": false,
|
||||
"title": "四川卫视",
|
||||
"videoUrl": [
|
||||
|
@ -806,7 +806,7 @@
|
|||
"pid": "600002484",
|
||||
"sid": "2000292503",
|
||||
"programId": "600002484",
|
||||
"needToken": false,
|
||||
"needToken": true,
|
||||
"mustToken": false,
|
||||
"title": "东南卫视",
|
||||
"videoUrl": [
|
||||
|
@ -822,7 +822,7 @@
|
|||
"pid": "600002506",
|
||||
"sid": "2000291503",
|
||||
"programId": "600002506",
|
||||
"needToken": false,
|
||||
"needToken": true,
|
||||
"mustToken": false,
|
||||
"title": "海南卫视",
|
||||
"videoUrl": [
|
||||
|
@ -838,7 +838,7 @@
|
|||
"pid": "600152137",
|
||||
"sid": "2019927003",
|
||||
"programId": "",
|
||||
"needToken": false,
|
||||
"needToken": true,
|
||||
"mustToken": false,
|
||||
"title": "天津卫视",
|
||||
"videoUrl": [
|
||||
|
@ -853,7 +853,7 @@
|
|||
"pid": "600152138",
|
||||
"sid": "2019927403",
|
||||
"programId": "",
|
||||
"needToken": false,
|
||||
"needToken": true,
|
||||
"mustToken": false,
|
||||
"title": "新疆卫视",
|
||||
"videoUrl": [
|
||||
|
@ -941,9 +941,9 @@
|
|||
"videoIndex": 0,
|
||||
"channel": "国际频道",
|
||||
"logo": "https://resources.yangshipin.cn/assets/oms/image/202309/74d3ac436a7e374879578de1d87a941fbf566d39d5632b027c5097891ed32bd5.png?imageMogr2/format/webp",
|
||||
"pid": "",
|
||||
"sid": "",
|
||||
"programId": "",
|
||||
"pid": "600084781",
|
||||
"sid": "2010155403",
|
||||
"programId": "600084781",
|
||||
"needToken": false,
|
||||
"mustToken": false,
|
||||
"title": "CGTN 纪录频道",
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
// Top-level build file where you can add configuration options common to all sub-projects/modules.
|
||||
plugins {
|
||||
id 'com.android.application' version '8.2.1' apply false
|
||||
id 'com.android.library' version '8.2.1' apply false
|
||||
id 'org.jetbrains.kotlin.android' version '1.9.21' apply false
|
||||
id 'com.android.application' version '8.2.2' apply false
|
||||
id 'com.android.library' version '8.2.2' apply false
|
||||
id 'org.jetbrains.kotlin.android' version '1.9.22' apply false
|
||||
}
|
Loading…
Reference in New Issue