├── .gitignore ├── AndroidManifest.xml ├── app ├── .gitignore ├── build.gradle └── src │ └── main │ ├── AndroidManifest.xml │ ├── assets │ ├── TVBus.apk │ ├── css │ │ ├── iqiyi.css │ │ ├── test.css │ │ └── webkit_tap_highlight.css │ ├── film │ │ ├── 电影搜集.list │ │ └── 音悦台.list │ ├── fm │ │ ├── 中央广播.fm │ │ ├── 其他.fm │ │ ├── 喜马拉雅.fm │ │ └── 蜻蜓.fm │ ├── tmp │ │ ├── test.tv │ │ ├── 央视频.ip │ │ └── 移动.武汉.ip │ ├── tvlive │ │ ├── MyIPTV │ │ │ ├── 上海百视通联通IP版.tv │ │ │ ├── 北京PLTV移动CDN版.tv │ │ │ ├── 四川电信绵阳ip版.tv │ │ │ ├── 大连天途有线CDN版.tv │ │ │ ├── 珠江宽频广州联通ip版.tv │ │ │ └── 黑龙江PLTV鸡西移动IP版.tv │ │ ├── cctv.myalicdn.com.tv │ │ ├── cctv.wscdns.com.tv │ │ ├── 其他.tv │ │ ├── 北邮测试源.tv │ │ ├── 国际台.tv │ │ ├── 地方台 │ │ │ ├── 地方台.chinashadt.com.tv │ │ │ ├── 地方台.云南.tv │ │ │ ├── 地方台.其他.tv │ │ │ ├── 地方台.吉林.tv │ │ │ ├── 地方台.四川.tv │ │ │ ├── 地方台.安徽.tv │ │ │ ├── 地方台.山东.tv │ │ │ ├── 地方台.广东.tv │ │ │ ├── 地方台.新疆.tv │ │ │ ├── 地方台.江苏.tv │ │ │ ├── 地方台.河北.tv │ │ │ ├── 地方台.河南.tv │ │ │ ├── 地方台.浙江.tv │ │ │ ├── 地方台.湖北.tv │ │ │ ├── 地方台.湖南.tv │ │ │ ├── 地方台.重庆.tv │ │ │ └── 地方台.黑龙江.tv │ │ ├── 广电.陕西.tv │ │ ├── 承德技师学院.tv │ │ ├── 教育.北京.tv │ │ ├── 港澳台.tv │ │ ├── 源代理.tv │ │ ├── 直播中国.tv │ │ ├── 移动源 │ │ │ ├── 移动.其他.tv │ │ │ ├── 移动.南京.tv │ │ │ ├── 移动.南京2.tv │ │ │ ├── 移动.南昌.tv │ │ │ ├── 移动.南昌1.tv │ │ │ ├── 移动.南昌2.tv │ │ │ ├── 移动.哈尔滨.tv │ │ │ └── 移动.武汉.tv │ │ ├── 联通源 │ │ │ ├── 联通.杭州.tv │ │ │ └── 联通.苏杭.tv │ │ ├── 轮播.CIBN.代理美国VPS.tv │ │ └── 轮播 │ │ │ └── 轮播.华数.tv │ └── 失效 │ │ ├── ottrrs.hl.chinamobile.com.tv │ │ ├── 中广热点云的资源.list │ │ ├── 咪咕视频.tv │ │ ├── 国际台.tv │ │ ├── 天翼视讯.tv │ │ ├── 天途源.302.tv │ │ ├── 天途源.tv │ │ ├── 央视频.ip.tv │ │ ├── 央视频.tv │ │ ├── 广电.蜀小果.tv │ │ ├── 广电.蜀小果1.tv │ │ ├── 广电.蜀小果2.tv │ │ ├── 港澳台.tv │ │ ├── 电信.上海.tv │ │ ├── 电信.其他.tv │ │ ├── 电信.成都.tv │ │ ├── 电信.沈阳.tv │ │ ├── 电信.沈阳2.tv │ │ ├── 百视通.tv │ │ ├── 移动.其他.tv │ │ ├── 移动.北京.tv │ │ ├── 移动.南宁.list │ │ ├── 移动.南宁.tv │ │ ├── 移动.哈尔滨2.tv │ │ ├── 移动.嘉峪关.tv │ │ ├── 移动.杭州.tv │ │ ├── 移动.杭州1.tv │ │ ├── 移动.杭州2.tv │ │ ├── 移动.沈阳.tv │ │ ├── 移动.沈阳2.tv │ │ ├── 移动.福州1.tv │ │ ├── 移动.福州2.tv │ │ ├── 移动.福州3.tv │ │ ├── 联通.南宁.tv │ │ ├── 联通.武汉.tv │ │ ├── 轮播.CIBN.tv │ │ ├── 轮播.爱奇艺.tv │ │ └── 轮播.虎牙.tv │ ├── java │ └── com │ │ └── shuiyes │ │ └── video │ │ ├── adapter │ │ └── AlbumAdapter.java │ │ ├── bean │ │ ├── Album.java │ │ ├── AlbumList.java │ │ ├── ListVideo.java │ │ └── PlayVideo.java │ │ ├── dialog │ │ ├── AlbumDialog.java │ │ ├── FlowlayoutDialog.java │ │ └── MiscDialog.java │ │ ├── ui │ │ ├── MainActivity.java │ │ ├── SVApplication.java │ │ ├── SettingsActivity.java │ │ ├── WebActivity.java │ │ ├── WelcomeActivity.java │ │ ├── base │ │ │ ├── BaseActivity.java │ │ │ ├── BasePlayActivity.java │ │ │ ├── BaseSearchActivity.java │ │ │ ├── BaseTVListActivity.java │ │ │ └── BaseTVLiveActivity.java │ │ ├── cbchot │ │ │ ├── CBChotSoActivity.java │ │ │ ├── CBChotUtils.java │ │ │ └── CBChotVActivity.java │ │ ├── iqiyi │ │ │ ├── IQIyiSoActivity.java │ │ │ ├── IQiyiUtils.java │ │ │ ├── IQiyiVActivity.java │ │ │ └── IQiyiVideo.java │ │ ├── letv │ │ │ ├── LetvSoActivity.java │ │ │ ├── LetvStream.java │ │ │ ├── LetvUtils.java │ │ │ └── LetvVActivity.java │ │ ├── mdd │ │ │ ├── MDDSoActivity.java │ │ │ ├── MDDUtils.java │ │ │ ├── MDDVActivity.java │ │ │ └── Sign.java │ │ ├── mgtv │ │ │ ├── MgtvSoActivity.java │ │ │ ├── MgtvUtils.java │ │ │ └── MgtvVActivity.java │ │ ├── qq │ │ │ ├── QQSection.java │ │ │ ├── QQSoActivity.java │ │ │ ├── QQStream.java │ │ │ ├── QQUtils.java │ │ │ └── QQVActivity.java │ │ ├── qtiptv │ │ │ └── QTingUtil.java │ │ ├── tvlive │ │ │ ├── BuptIVIActivity.java │ │ │ ├── HuyaListActivity.java │ │ │ ├── SopPlusActivity.java │ │ │ ├── SuzhouCMCCActivity.java │ │ │ ├── TVBusActivity.java │ │ │ ├── TVListActivity.java │ │ │ ├── TVPlayActivity.java │ │ │ └── TVSourceActivity.java │ │ ├── vip │ │ │ ├── VipActivity.java │ │ │ ├── VipSource.java │ │ │ └── VipUtils.java │ │ ├── yinyang │ │ │ ├── ShuiyeVideoController.java │ │ │ └── TVActivity.java │ │ └── youku │ │ │ ├── YoukuSoActivity.java │ │ │ ├── YoukuUtils.java │ │ │ ├── YoukuVActivity.java │ │ │ └── YoukuVideo.java │ │ ├── util │ │ ├── CbchotUtil.java │ │ ├── Constants.java │ │ ├── HttpUtils.java │ │ ├── ImageLoader.java │ │ ├── MD5.java │ │ ├── MemoryUtil.java │ │ ├── OkHttpManager.java │ │ ├── PlayUtils.java │ │ ├── PreferenceUtil.java │ │ ├── SHA1.java │ │ ├── SLog.java │ │ ├── ThreadPoolUtil.java │ │ └── Utils.java │ │ └── widget │ │ ├── DLVideoView.java │ │ ├── MarqueeTextView.java │ │ ├── MiscView.java │ │ ├── NumberView.java │ │ ├── ReboundScrollView.java │ │ └── VideoController.java │ └── res │ ├── anim │ ├── slide_in.xml │ └── slide_out.xml │ ├── drawable-hdpi │ ├── bg_movie.png │ ├── logo.png │ ├── logo_src.png │ ├── logo_tv.png │ ├── logo_tv1.png │ ├── logo_tv2.png │ ├── logo_vd.png │ ├── rect_green.xml │ ├── rect_orange.xml │ └── rect_red.xml │ ├── drawable-v21 │ └── ripple_bg.xml │ ├── drawable-xhdpi │ └── youku.png │ ├── drawable │ ├── btn_oval.xml │ ├── btn_rect.xml │ ├── btn_rect_transparent.xml │ ├── btn_select_album.xml │ ├── circle.xml │ ├── circle_red.xml │ ├── oval_blue.xml │ ├── oval_red.xml │ ├── oval_white.xml │ ├── rect_blue.xml │ ├── rect_blue_dark.xml │ ├── rect_grey.xml │ ├── rect_transparent.xml │ ├── rect_white.xml │ ├── ripple_bg.xml │ ├── seekbar_progress_drawable.xml │ └── thumb_red_shape_drawable.xml │ ├── layout │ ├── activity_huyalist.xml │ ├── activity_main.xml │ ├── activity_play.xml │ ├── activity_player_tvlive.xml │ ├── activity_search.xml │ ├── activity_settings.xml │ ├── activity_tvlist.xml │ ├── activity_tvlive.xml │ ├── activity_vip.xml │ ├── activity_web.xml │ ├── activity_welcome.xml │ ├── full_screen_dialog.xml │ ├── itemview_search_video.xml │ └── media_controller.xml │ ├── menu │ └── menu.xml │ ├── values-hdpi │ ├── dimens.xml │ └── strings.xml │ ├── values-mdpi │ └── strings.xml │ ├── values-xhdpi │ ├── dimens.xml │ └── strings.xml │ ├── values-xxhdpi │ ├── dimens.xml │ └── strings.xml │ ├── values-xxxhdpi │ └── strings.xml │ └── values │ ├── arrays.xml │ ├── colors.xml │ ├── dimens.xml │ ├── strings.xml │ └── styles.xml ├── build.gradle ├── common ├── .gitignore ├── build.gradle └── src │ └── main │ ├── AndroidManifest.xml │ ├── java │ └── com │ │ ├── android │ │ └── permission │ │ │ ├── FloatWindowManager.java │ │ │ └── rom │ │ │ ├── HuaweiUtils.java │ │ │ ├── MeizuUtils.java │ │ │ ├── MiuiUtils.java │ │ │ ├── OppoUtils.java │ │ │ ├── QikuUtils.java │ │ │ └── RomUtils.java │ │ └── shuiyes │ │ └── video │ │ ├── os │ │ ├── ServiceManager.java │ │ └── WindowManagerPolicyConstants.java │ │ ├── util │ │ └── WindowUtil.java │ │ ├── view │ │ └── AutoGestureListener.java │ │ └── widget │ │ └── Tips.java │ └── res │ └── layout │ └── transient_notification.xml ├── exoplayer ├── .gitignore ├── build.gradle └── src │ └── main │ ├── AndroidManifest.xml │ ├── java │ └── com │ │ └── shuiyes │ │ └── video │ │ ├── ExoCommon.java │ │ └── ui │ │ ├── ExoPlayerActivity.java │ │ ├── base │ │ └── BaseExoPlayerActivity.java │ │ └── tvlive │ │ └── ExoTVBusActivity.java │ └── res │ ├── layout │ ├── activity_player_exo.xml │ ├── activity_player_exo_tvbus.xml │ └── activity_player_exo_tvlive.xml │ └── values │ ├── strings.xml │ └── styles.xml ├── flowlayout ├── .gitignore ├── build.gradle └── src │ └── main │ ├── AndroidManifest.xml │ ├── java │ └── com │ │ ├── shuiye │ │ └── video │ │ │ └── util │ │ │ ├── ResourceDef.java │ │ │ └── ResourceUtils.java │ │ └── zhy │ │ └── view │ │ └── flowlayout │ │ ├── FlowLayout.java │ │ ├── TagAdapter.java │ │ ├── TagFlowLayout.java │ │ └── TagView.java │ └── res │ └── values │ ├── attrs.xml │ └── strings.xml ├── gradle.properties ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── settings.gradle ├── sourcetest ├── .gitignore ├── build.gradle └── src │ └── main │ ├── AndroidManifest.xml │ ├── assets │ └── test.list │ └── java │ └── com │ └── shuiyes │ └── test │ ├── Classify.java │ ├── DeDuplication.java │ ├── FoldDeDuplication.java │ ├── FoldScanDuplication.java │ ├── GuessTVUrl.java │ ├── HttpUtils.java │ ├── HuyaFormater.java │ ├── HuyaTest.java │ ├── Log.java │ ├── NameFormater.java │ ├── ScanAgentUrl.java │ ├── ScanTVUrl.java │ ├── ScanUrl.java │ ├── Test.java │ ├── TestSource.java │ ├── TextSort.java │ ├── UrlFormater.java │ └── UrlSort.java ├── tvbus ├── .gitignore ├── build.gradle └── src │ └── main │ ├── AndroidManifest.xml │ ├── java │ └── com │ │ └── tvbus │ │ └── engine │ │ ├── TVCore.java │ │ ├── TVListener.java │ │ └── TVService.java │ ├── jniLibs │ └── armeabi-v7a │ │ ├── libtvcore.so │ │ ├── libtvcore_chaojizhibo.so │ │ ├── libtvcore_github.so │ │ └── libtvcore_soplus.so │ └── res │ └── values │ └── strings.xml ├── version.gradle └── yinyangplayer ├── .gitignore ├── build.gradle ├── libs-ijk-yjzb ├── libijkffmpeg.so ├── libijkplayer.so └── libijksdl.so ├── libs └── armeabi-v7a │ ├── libijkffmpeg.so │ ├── libijkplayer.so │ └── libijksdl.so └── src └── main ├── AndroidManifest.xml ├── java └── com │ ├── devlin_n │ └── yinyangplayer │ │ ├── controller │ │ ├── AdController.java │ │ ├── BaseVideoController.java │ │ ├── FloatController.java │ │ └── StandardVideoController.java │ │ ├── player │ │ ├── BackgroundPlayService.java │ │ ├── VideoCacheManager.java │ │ ├── VideoModel.java │ │ ├── YinYangPlayer.java │ │ └── YinYangPlayerManager.java │ │ ├── util │ │ ├── Constants.java │ │ ├── KeyUtil.java │ │ ├── L.java │ │ ├── NetworkUtil.java │ │ └── StorageUtil.java │ │ └── widget │ │ ├── CenterView.java │ │ ├── FloatView.java │ │ ├── PlayProgressButton.java │ │ ├── StatusView.java │ │ ├── YinYangSurfaceView.java │ │ └── YinYangTextureView.java │ └── shuiyes │ └── video │ └── ui │ └── tvlive │ ├── YinyangFM.java │ └── YinyangTVPlayActivity.java └── res ├── anim ├── anim_alpha_in.xml ├── anim_alpha_out.xml ├── anim_slide_bottom_in.xml ├── anim_slide_bottom_out.xml ├── anim_slide_top_in.xml └── anim_slide_top_out.xml ├── drawable-hdpi ├── bg_nosignal.png ├── fm.jpg ├── ic_action_arrow_back.png ├── ic_action_brightness.png ├── ic_action_close.png ├── ic_action_fast_forward.png ├── ic_action_fast_rewind.png ├── ic_action_fullscreen.png ├── ic_action_fullscreen_exit.png ├── ic_action_lock_open.png ├── ic_action_lock_outline.png ├── ic_action_more_vert.png ├── ic_action_pause.png ├── ic_action_picture_in_picture.png ├── ic_action_play_arrow.png ├── ic_action_replay.png ├── ic_action_volume_off.png ├── ic_action_volume_up.png └── ic_loading.png ├── drawable-mdpi ├── ic_action_arrow_back.png ├── ic_action_brightness.png ├── ic_action_close.png ├── ic_action_fast_forward.png ├── ic_action_fast_rewind.png ├── ic_action_fullscreen.png ├── ic_action_fullscreen_exit.png ├── ic_action_lock_open.png ├── ic_action_lock_outline.png ├── ic_action_more_vert.png ├── ic_action_pause.png ├── ic_action_picture_in_picture.png ├── ic_action_play_arrow.png ├── ic_action_replay.png ├── ic_action_volume_off.png ├── ic_action_volume_up.png └── ic_loading.png ├── drawable-xhdpi ├── ic_action_arrow_back.png ├── ic_action_brightness.png ├── ic_action_close.png ├── ic_action_fast_forward.png ├── ic_action_fast_rewind.png ├── ic_action_fullscreen.png ├── ic_action_fullscreen_exit.png ├── ic_action_lock_open.png ├── ic_action_lock_outline.png ├── ic_action_more_vert.png ├── ic_action_pause.png ├── ic_action_picture_in_picture.png ├── ic_action_play_arrow.png ├── ic_action_replay.png ├── ic_action_volume_off.png ├── ic_action_volume_up.png └── ic_loading.png ├── drawable-xxhdpi ├── ic_action_arrow_back.png ├── ic_action_brightness.png ├── ic_action_close.png ├── ic_action_fast_forward.png ├── ic_action_fast_rewind.png ├── ic_action_fullscreen.png ├── ic_action_fullscreen_exit.png ├── ic_action_lock_open.png ├── ic_action_lock_outline.png ├── ic_action_more_vert.png ├── ic_action_pause.png ├── ic_action_picture_in_picture.png ├── ic_action_play_arrow.png ├── ic_action_replay.png ├── ic_action_volume_off.png ├── ic_action_volume_up.png └── ic_loading.png ├── drawable-xxxhdpi ├── ic_action_arrow_back.png ├── ic_action_brightness.png ├── ic_action_close.png ├── ic_action_fast_forward.png ├── ic_action_fast_rewind.png ├── ic_action_fullscreen.png ├── ic_action_fullscreen_exit.png ├── ic_action_lock_open.png ├── ic_action_lock_outline.png ├── ic_action_more_vert.png ├── ic_action_pause.png ├── ic_action_picture_in_picture.png ├── ic_action_play_arrow.png ├── ic_action_replay.png ├── ic_action_volume_off.png ├── ic_action_volume_up.png └── ic_loading.png ├── drawable ├── progress_loading.xml ├── seekbar_progress.xml ├── seekbar_thumb.xml ├── seekbar_thumb_normal.xml ├── seekbar_thumb_pressed.xml ├── selector_full_screen_button.xml ├── selector_lock_button.xml ├── selector_play_button.xml ├── shape_ad_bg.xml ├── shape_back_bg.xml ├── shape_float_window_background.xml ├── shape_play_bg.xml ├── shape_standard_controller_top_bg.xml ├── shape_stardard_controller_bottom_bg.xml └── shape_status_view_btn.xml ├── layout ├── activity_tvplay_yinyang.xml ├── layout_ad_controller.xml ├── layout_center_window.xml ├── layout_float_controller.xml ├── layout_standard_controller.xml └── layout_status_view.xml ├── menu ├── controller_menu.xml └── main_menu.xml └── values ├── colors.xml ├── dimens.xml ├── strings.xml └── styles.xml /.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea 5 | 6 | .DS_Store 7 | /build 8 | /tmp 9 | /captures 10 | .externalNativeBuild 11 | -------------------------------------------------------------------------------- /AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 23 | 24 | 28 | 29 | 30 | 31 | 32 | 33 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /app/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.application' 2 | apply from: "../version.gradle" 3 | 4 | android { 5 | compileSdkVersion rootProject.ext.compileSdkVersion 6 | 7 | defaultConfig { 8 | minSdkVersion rootProject.ext.minSdkVersion 9 | targetSdkVersion rootProject.ext.targetSdkVersion 10 | applicationId rootProject.ext.applicationId 11 | } 12 | 13 | buildTypes { 14 | release { 15 | minifyEnabled false 16 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 17 | } 18 | } 19 | 20 | compileOptions { 21 | sourceCompatibility JavaVersion.VERSION_1_8 22 | targetCompatibility JavaVersion.VERSION_1_8 23 | } 24 | 25 | applicationVariants.all { variant -> 26 | variant.outputs.all { output -> 27 | 28 | def rootName = rootProject.name 29 | def versionName = defaultConfig.versionName 30 | def buildType = variant.variantData.variantConfiguration.buildType.name 31 | 32 | outputFileName = "${rootName}_${versionName}-${buildType}.apk" 33 | } 34 | } 35 | } 36 | 37 | dependencies { 38 | implementation fileTree(include: ['*.jar'], dir: 'libs') 39 | 40 | implementation 'com.android.support:appcompat-v7:28.0.0' 41 | 42 | // required, enough for most devices. 43 | // implementation 'tv.danmaku.ijk.media:ijkplayer-java:0.8.8' 44 | // implementation 'tv.danmaku.ijk.media:ijkplayer-armv7a:0.8.8' 45 | 46 | // mdd 47 | implementation 'com.squareup.okhttp3:okhttp:3.9.0' 48 | implementation 'com.squareup.okhttp3:okhttp-urlconnection:3.9.0' 49 | 50 | implementation project(':yinyangplayer') 51 | implementation project(':flowlayout') 52 | implementation project(':common') 53 | implementation project(':tvbus') 54 | 55 | } -------------------------------------------------------------------------------- /app/src/main/assets/TVBus.apk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/movin2008/ShuiyeVideo/f7dc0ec72f5dfb7cd66e53594033fff65c68bf98/app/src/main/assets/TVBus.apk -------------------------------------------------------------------------------- /app/src/main/assets/css/test.css: -------------------------------------------------------------------------------- 1 | html{font-size:100%;} -------------------------------------------------------------------------------- /app/src/main/assets/css/webkit_tap_highlight.css: -------------------------------------------------------------------------------- 1 | html{font-size:100%;-webkit-text-size-adjust:none;-ms-text-size-adjust:none;-webkit-tap-highlight-color: grey;} -------------------------------------------------------------------------------- /app/src/main/assets/fm/中央广播.fm: -------------------------------------------------------------------------------- 1 | 中央广播 2 | CNR 经济之声,http://ngcdn002.cnr.cn/live/jjzs/index.m3u8 3 | CNR 中国之声,http://ngcdn001.cnr.cn/live/zgzs/index.m3u8 4 | CNR 音乐之声,http://ngcdn003.cnr.cn/live/yyzs/index.m3u8 5 | CNR 经典音乐广播 101.8,http://ngcdn004.cnr.cn/live/dszs/index.m3u8 6 | CNR 中华之声,http://ngcdn005.cnr.cn/live/zhzs/index.m3u8 7 | CNR 神州之声,http://ngcdn006.cnr.cn/live/szzs/index.m3u8 8 | CNR 华夏之声,http://ngcdn007.cnr.cn/live/hxzs/index.m3u8 9 | CNR 香港之声,http://ngcdn008.cnr.cn/live/xgzs/index.m3u8 10 | CNR 民族之声,http://ngcdn009.cnr.cn/live/mzzs/index.m3u8 11 | CNR 文艺之声,http://ngcdn010.cnr.cn/live/wyzs/index.m3u8 12 | CNR 老年之声,http://ngcdn011.cnr.cn/live/lnzs/index.m3u8 13 | CNR 中国乡村之声,http://ngcdn017.cnr.cn/live/xczs/index.m3u8 14 | CNR 哈语广播,http://ngcdn025.cnr.cn/live/hygb/index.m3u8 15 | CNR 藏语广播,http://ngcdn012.cnr.cn/live/zygb/index.m3u8 16 | CNR 维语广播,http://ngcdn013.cnr.cn/live/wygb/index.m3u8 17 | CNR 娱乐广播,http://ngcdn014.cnr.cn/live/ylgb/index.m3u8 18 | CNR 中国交通广播,http://ngcdn016.cnr.cn/live/gsgljtgb/index.m3u8 19 | -------------------------------------------------------------------------------- /app/src/main/assets/tmp/央视频.ip: -------------------------------------------------------------------------------- 1 | ## IP 会失效 需要经常从下面IP段扫描 2 | 3 | 腾讯云广州,182.254.116.* 4 | 腾讯云深圳,121.51.14.* 5 | 腾讯云广州,121.51.141.* 6 | 腾讯云天津,182.254.21.* 7 | 腾讯云天津,182.254.48.* 8 | 腾讯云上海,182.254.78.* 9 | 腾讯云香港,203.205.220.* 10 | 腾讯云香港,203.205.236.* 11 | 12 | 上海电信,101.89.38.* 13 | 杭州移动,111.0.27.* 14 | 兰州移动,111.11.181.* 15 | 北京移动,111.13.34..* 16 | 天津联通,111.161.121.* 17 | 武汉移动,111.48.79.* 18 | 洛阳移动,111.7.72.* 19 | 南京移动,112.25.104.* 20 | 合肥移动,112.29.151.* 21 | 合肥移动,112.29.212.* 22 | 上海移动,117.144.244.* 23 | 南京联通,117.148.165.* 24 | 台州移动,117.148.191.* 25 | 上海移动,117.184.37.* 26 | 上海移动,117.184.38.* 27 | 上海移动,117.184.42.* 28 | 上海移动,117.184.45.* 29 | 青岛联通,119.167.204.* 30 | 上海移动,120.204.1.* 31 | 普陀移动,120.204.20.* 32 | 济南移动,120.221.179.* 33 | 济南移动,120.221.180.* 34 | 青岛移动,120.221.198.* 35 | 青岛移动,120.221.199.* 36 | 深圳移动,120.233.115.* 37 | 深圳移动,120.241.188.* 38 | 天津电信,123.151.72.* 39 | 天津联通,125.39.52.* 40 | 青岛电信,140.249.247.* 41 | 青岛电信,140.249.30.* 42 | 济南电信,150.138.226.* 43 | 南京电信,180.96.1.* 44 | 杭州电信,183.134.218.* 45 | 深圳电信,183.3.225.* 46 | 佛山电信,183.56.172.* 47 | 重庆移动,221.178.18.* 48 | 重庆移动,221.178.19.* 49 | 无锡电信,221.228.67.* 50 | 南京移动,36.152.72.* 51 | 上海联通,58.246.221.* 52 | 上海联通,58.247.205.* 53 | 深圳联通,58.250.136.* 54 | 深圳联通,58.251.112.* 55 | 深圳联通,58.251.121.* 56 | 武汉电信,58.49.226.* 57 | 深圳电信,59.36.132.* 58 | 合肥电信,60.174.244.* 59 | 南通电信,61.147.237.* 60 | 上海电信,61.151.179.* 61 | 62 | 美国,192.26.92.* 63 | 美国,192.33.14.* 64 | 美国,192.5.6.* 65 | -------------------------------------------------------------------------------- /app/src/main/assets/tvlive/cctv.myalicdn.com.tv: -------------------------------------------------------------------------------- 1 | CCTV1,http://cctvalih5ca.v.myalicdn.com/live/cctv1_2/index.m3u8 2 | CCTV2,http://cctvalih5ca.v.myalicdn.com/live/cctv2_2/index.m3u8 3 | CCTV3,http://cctvalih5ca.v.myalicdn.com/live/cctv3_2/index.m3u8 4 | CCTV4,http://cctvalih5ca.v.myalicdn.com/live/cctv4_2/index.m3u8 5 | CCTV5,http://cctvalih5ca.v.myalicdn.com/live/cctv5_2/index.m3u8 6 | CCTV6,http://cctvalih5ca.v.myalicdn.com/live/cctv6_2/index.m3u8 7 | CCTV7,http://cctvalih5ca.v.myalicdn.com/live/cctv7_2/index.m3u8 8 | CCTV8,http://cctvalih5ca.v.myalicdn.com/live/cctv8_2/index.m3u8 9 | CCTV9,http://cctvalih5ca.v.myalicdn.com/live/cctvjilu_2/index.m3u8 10 | CCTV10,http://cctvalih5ca.v.myalicdn.com/live/cctv10_2/index.m3u8 11 | CCTV11,http://cctvalih5ca.v.myalicdn.com/live/cctv11_2/index.m3u8 12 | CCTV12,http://cctvalih5ca.v.myalicdn.com/live/cctv12_2/index.m3u8 13 | CCTV13,http://cctvalih5ca.v.myalicdn.com/live/cctv13_2/index.m3u8 14 | CCTV14,http://cctvalih5ca.v.myalicdn.com/live/cctvchild_2/index.m3u8 15 | CCTV15,http://cctvalih5ca.v.myalicdn.com/live/cctv15_2/index.m3u8 16 | -------------------------------------------------------------------------------- /app/src/main/assets/tvlive/地方台/地方台.云南.tv: -------------------------------------------------------------------------------- 1 | 云南卫视,http://edge1.yntv.cn/channels/yntv/ynws/flv:sd/live 2 | 云南少儿,http://edge2.yntv.cn/channels/yntv/ynse/flv:sd/live 3 | 4 | 云南卫视,http://edge1.yntv.cn/channels/yntv/ynws/m3u8:sd 5 | 云南少儿,http://edge1.yntv.cn/channels/yntv/ynse/m3u8:sd 6 | 云南都市,http://edge1.yntv.cn/channels/yntv/ynds/m3u8:sd 7 | 云南公共,http://edge1.yntv.cn/channels/yntv/yngg/m3u8:sd 8 | 云南娱乐,http://edge1.yntv.cn/channels/yntv/ynyl/m3u8:sd 9 | 10 | 11 | 云南卫视,https://hwapi.yunshicloud.com/8xughf/e0bx15.m3u8 12 | 云南少儿,https://hwapi.yunshicloud.com/62hdvf/ru416s.m3u8 13 | 云南都市,http://hwzbout.yunshicloud.com/62hdvf/v8260m.m3u8 14 | 云南生活,http://hwzbout.yunshicloud.com/62hdvf/gk6472.m3u8 15 | 云南影视,http://hwzbout.yunshicloud.com/62hdvf/k7daod.m3u8 16 | 17 | 云南 Ⅰ 红河综合台,http://file.hhtv.cc/cms/videos/nmip-media/channellive/channel1/playlist.m3u8 18 | 云南 Ⅰ 文山综合台,http://tvdrs.wsrtv.com.cn:8100/channellive/ch1.flv 19 | 云南 Ⅰ 文山公共台,http://tvdrs.wsrtv.com.cn:8100/channellive/ch2.flv 20 | -------------------------------------------------------------------------------- /app/src/main/assets/tvlive/地方台/地方台.吉林.tv: -------------------------------------------------------------------------------- 1 | CCTV 13,http://stream4.jlntv.cn/cctv13/sd/live.m3u8 2 | 吉林卫视,http://stream4.jlntv.cn/test2/sd/live.m3u8 -------------------------------------------------------------------------------- /app/src/main/assets/tvlive/地方台/地方台.四川.tv: -------------------------------------------------------------------------------- 1 | 四川地方台 2 | 四川卫视,http://scgctvshow.sctv.com/scgc/sctv1deu5453w/1.m3u8 3 | 四川旅游,http://scgctvshow.sctv.com/hdlive/sctv2/1.m3u8 4 | 四川公共,http://scgctvshow.sctv.com/hdlive/sctv9/1.m3u8 5 | 峨眉电影,http://scgctvshow.sctv.com/hdlive/emei/1.m3u8 6 | 康巴卫视,http://scgctvshow.sctv.com/sdlive/kangba/3.m3u8 7 | 8 | 四川 Ⅰ 乐山公共,http://flv.channellive.leshantv.net/live/ch2.flv 9 | 四川 Ⅰ 乐山综合,http://flv.channellive.leshantv.net/live/ch1.flv 10 | 11 | 四川 Ⅰ 巴中公共台,https://30814.hlsplay.aodianyun.com/lms_30814/tv_channel_247.m3u8 12 | 四川 Ⅰ 巴中综合台,http://30814.hlsplay.aodianyun.com/lms_30814/tv_channel_246.flv 13 | 14 | 四川 Ⅰ 泸州综合,http://file.weblz.com.cn:6066/cms/videos/nmip-media-dz/channellive/channel3/playlist.m3u8 15 | 四川 Ⅰ 泸州公共,http://file.weblz.com.cn:6066/cms/videos/nmip-media-dz/channellive/channel4/playlist.m3u8 16 | 四川 Ⅰ 泸州科技,http://file.weblz.com.cn:6066/cms/videos/nmip-media-dz/channellive/channel5/playlist.m3u8 17 | 18 | 四川 Ⅰ 泸州综合,http://tvdrs.weblz.com.cn:8100/channellive/lztv1.flv 19 | 四川 Ⅰ 泸州公共,http://tvdrs.weblz.com.cn:8100/channellive/lztv2.flv 20 | 四川 Ⅰ 泸州科技,http://tvdrs.weblz.com.cn:8100/channellive/lztv3.flv 21 | 22 | 四川 Ⅰ 西昌综合台,http://stream.xctv.news:8084/1a6c203cd4644dd9a27a4b07a1159e14/h264_500k_ts/index.m3u8?type=flv2hls_m3u8 23 | 四川 Ⅰ 西昌综合台,http://stream.xctv.news:8084/live/1a6c203cd4644dd9a27a4b07a1159e14?fmt=h264_500k_flv 24 | 25 | 四川 Ⅰ 达州综合台,http://m3u8.channellive.dzxw.net/cms/videos/nmip-media/channellive/channel35/playlist.m3u8 26 | 四川 Ⅰ 达州公共台,http://m3u8.channellive.dzxw.net/cms/videos/nmip-media/channellive/channel36/playlist.m3u8 27 | 四川 Ⅰ 达州综合台,http://tv.drs.dzxw.net/channellive/dzrtv-hd1.flv 28 | 四川 Ⅰ 达州公共台,http://tv.drs.dzxw.net/channellive/dzrtv-hd2.flv 29 | 30 | 四川 Ⅰ 雅安公共,http://flv.drs.tv.yatv.tv:8080/channellive/gonggong.flv 31 | 四川 Ⅰ 雅安综合,http://flv.drs.tv.yatv.tv:8080/channellive/xinwen.flv 32 | 33 | 四川 Ⅰ 攀枝花综合,http://zb.pzhgd.com:9091/live/xwzh.m3u8 34 | -------------------------------------------------------------------------------- /app/src/main/assets/tvlive/地方台/地方台.安徽.tv: -------------------------------------------------------------------------------- 1 | 安徽地方台 2 | 安徽卫视,http://zbbf2.ahtv.cn/live/749.m3u8 3 | 4 | 安徽 Ⅰ 郎溪综合台,http://117.70.93.210:1935/live/xinwen/playlist.m3u8 5 | 安徽 Ⅰ 郎溪影视台,http://117.70.93.210:1935/live/yingshi/playlist.m3u8 6 | 7 | 安徽 Ⅰ 滁州公共,http://183.167.193.45:1935/live/cztvgg/playlist.m3u8 8 | 安徽 Ⅰ 滁州科教,http://183.167.193.45:1935/live/cztvkj/playlist.m3u8 9 | 安徽 Ⅰ 滁州综合,http://183.167.193.45:1935/live/cztvzh/playlist.m3u8 10 | 11 | 安徽 Ⅰ 亳州新闻,http://220.180.110.101:8083/videos/live/33/59/NC7XQdEveyncq/NC7XQdEveyncq.m3u8 12 | 安徽 Ⅰ 亳州农村,http://220.180.110.101:8083/videos/live/39/13/o4ncrHkSp7q09/o4ncrHkSp7q09.m3u8 13 | 14 | 安徽 Ⅰ 铜陵综合,http://dstpush1.retalltech.com/app/stream1.m3u8 15 | 安徽 Ⅰ 铜陵公共,http://dstpush1.retalltech.com/app/stream2.m3u8 16 | 17 | 安徽 Ⅰ 淮北公共,http://live.0561rtv.cn/ggpd/hd/live.m3u8 18 | 安徽 Ⅰ 淮北综合,http://live.0561rtv.cn/xwzh/hd/live.m3u8 19 | 20 | 安徽 Ⅰ 宿州公共,http://live.ahsz.tv/video/s10001-ggpd/index.m3u8 21 | 安徽 Ⅰ 宿州科教,http://live.ahsz.tv/video/s10001-kxjy/index.m3u8 22 | 23 | 安徽 Ⅰ 六安综合,http://live.china-latv.com/channel1/sd/live.m3u8 24 | 安徽 Ⅰ 六安公共,http://live.china-latv.com/channel2/sd/live.m3u8 25 | 26 | 安徽 Ⅰ 马鞍山综合,http://live.massp.cn:5011/vod/video_hls/c01.m3u8 27 | 28 | 29 | 安徽 Ⅰ 芜湖综合,http://live1.wuhubtv.com/channel1/sd/live.m3u8 30 | 安徽 Ⅰ 芜湖生活,http://live1.wuhubtv.com/channel2/sd/live.m3u8 31 | 安徽 Ⅰ 芜湖公共,http://live1.wuhubtv.com/channel3/sd/live.m3u8 32 | 安徽 Ⅰ 芜湖教育,http://live1.wuhubtv.com/channel4/sd/live.m3u8 33 | 34 | 安徽 Ⅰ 芜湖综合,http://live.wjyanghu.com/live/CH2.m3u8 35 | 安徽 Ⅰ 芜湖教育,http://live.wjyanghu.com/live/CH1.m3u8 36 | 安徽 Ⅰ 芜湖公共,http://wuxue.live.cjyun.org/video/s10107-wxtv1/index.m3u8 37 | 38 | 安徽 Ⅰ 蚌埠公共,http://newvod.ahbbtv.com:1935/live/smil:ggpd_copy.smil/playlist.m3u8 39 | 安徽 Ⅰ 蚌埠公交,http://newvod.ahbbtv.com:1935/live/smil:gjpd_copy.smil/playlist.m3u8 40 | 安徽 Ⅰ 蚌埠生活,http://newvod.ahbbtv.com:1935/live/smil:shpd_copy.smil/playlist.m3u8 41 | 安徽 Ⅰ 蚌埠综合,http://newvod.ahbbtv.com:1935/live/smil:xwpd_copy.smil/playlist.m3u8 42 | 43 | 安徽 Ⅰ 蚌埠生活,http://stream.wifizs.cn/xwzh/sd/live.m3u8 44 | 45 | 安徽 Ⅰ 阜阳公共,http://live.zjmc.tv/3/sd/live.m3u8 46 | 安徽 Ⅰ 阜阳教育,http://live.zjmc.tv/1/sd/live.m3u8 47 | 48 | -------------------------------------------------------------------------------- /app/src/main/assets/tvlive/地方台/地方台.山东.tv: -------------------------------------------------------------------------------- 1 | 山东 Ⅰ 济南新闻,http://ts1.ijntv.cn/xwhd/playlist.m3u8 2 | 山东 Ⅰ 济南都市,http://ts1.ijntv.cn/jnds/playlist.m3u8 3 | 山东 Ⅰ 济南影视,http://ts1.ijntv.cn/jnyd/playlist.m3u8 4 | 山东 Ⅰ 济南商务,http://ts1.ijntv.cn/jnsw/playlist.m3u8 5 | 山东 Ⅰ 济南娱乐,http://ts2.ijntv.cn/jnyl/playlist.m3u8 6 | 山东 Ⅰ 济南生活,http://ts2.ijntv.cn/jnsh/playlist.m3u8 7 | 山东 Ⅰ 济南少儿,http://ts2.ijntv.cn/jnse/playlist.m3u8 8 | 9 | 山东 Ⅰ 济南新闻,http://ts1.ijntv.cn/xwhd/hd/live.m3u8 10 | 山东 Ⅰ 济南都市,http://ts1.ijntv.cn/jnds/sd/live.m3u8 11 | 山东 Ⅰ 济南影视,http://ts1.ijntv.cn/yshd/hd/live.m3u8 12 | 山东 Ⅰ 济南商务,http://ts1.ijntv.cn/jnsw/sd/live.m3u8 13 | 山东 Ⅰ 济南娱乐,http://ts1.ijntv.cn/jnyd/sd/live.m3u8 14 | 山东 Ⅰ 济南娱乐,http://ts2.ijntv.cn/jnyl/sd/live.m3u8 15 | 山东 Ⅰ 济南生活,http://ts2.ijntv.cn/jnsh/sd/live.m3u8 16 | 山东 Ⅰ 济南少儿,http://ts2.ijntv.cn/jnse/sd1/live.m3u8 17 | 18 | 山东 Ⅰ 临朐先锋,http://184.154.28.210:1935/canal4/canal4/playlist.m3u8 19 | -------------------------------------------------------------------------------- /app/src/main/assets/tvlive/地方台/地方台.新疆.tv: -------------------------------------------------------------------------------- 1 | 兵团卫视,rtmp://v.btzx.com.cn/live/weishi.stream 2 | 兵团卫视,http://v.btzx.com.cn:1935/live/weishi.stream/playlist.m3u8 3 | 兵团卫视,http://v.btzx.com.cn:1935/live/weishi.stream/chunklist_w846804169.m3u8 -------------------------------------------------------------------------------- /app/src/main/assets/tvlive/地方台/地方台.江苏.tv: -------------------------------------------------------------------------------- 1 | 江苏 Ⅰ 南京综合,http://live.nbs.cn/channels/njtv/xwzh/m3u8:500k/live.m3u8 2 | 江苏 Ⅰ 南京影视,http://live.nbs.cn/channels/njtv/yspd/m3u8:500k/live.m3u8 3 | 江苏 Ⅰ 南京生活,http://live.nbs.cn/channels/njtv/shpd/m3u8:500k/live.m3u8 4 | 江苏 Ⅰ 南京娱乐,http://live.nbs.cn/channels/njtv/ylpd/m3u8:500k/live.m3u8 5 | 江苏 Ⅰ 南京十八,http://live.nbs.cn/channels/njtv/sbpd/m3u8:500k/live.m3u8 6 | 江苏 Ⅰ 南京少儿,http://live.nbs.cn/channels/njtv/sepd/m3u8:500k/live.m3u8 7 | 江苏 Ⅰ 南京教科,http://live.nbs.cn/channels/njtv/jkpd/m3u8:500k/live.m3u8 8 | 9 | 江苏 Ⅰ 南京综合,http://live.nbs.cn/channels/njtv/xwzh/flv:500k/live 10 | 江苏 Ⅰ 南京影视,http://live.nbs.cn/channels/njtv/yspd/flv:500k/live 11 | 江苏 Ⅰ 南京生活,http://live.nbs.cn/channels/njtv/shpd/flv:500k/live 12 | 江苏 Ⅰ 南京娱乐,http://live.nbs.cn/channels/njtv/ylpd/flv:500k/live 13 | 江苏 Ⅰ 南京十八,http://live.nbs.cn/channels/njtv/sbpd/flv:500k/live 14 | 江苏 Ⅰ 南京少儿,http://live.nbs.cn/channels/njtv/sepd/flv:500k/live 15 | 江苏 Ⅰ 南京教科,http://live.nbs.cn/channels/njtv/jkpd/flv:500k/live 16 | 17 | 江苏 Ⅰ 苏州综合,rtmp://csztv.2500sz.com/live/c01 18 | 江苏 Ⅰ 苏州经济,rtmp://csztv.2500sz.com/live/c02 19 | 江苏 Ⅰ 苏州文化,rtmp://csztv.2500sz.com/live/c03 20 | 江苏 Ⅰ 苏州生活,rtmp://csztv.2500sz.com/live/c04 21 | 22 | 江苏 Ⅰ 徐州-1,http://stream1.huaihai.tv/xwzh/playlist.m3u8 23 | 江苏 Ⅰ 徐州-2,http://stream1.huaihai.tv/jjsh/playlist.m3u8 24 | 江苏 Ⅰ 徐州-3,http://stream1.huaihai.tv/wyys/playlist.m3u8 25 | 江苏 Ⅰ 徐州-4,http://stream1.huaihai.tv/ggpd/playlist.m3u8 26 | 27 | 江苏 Ⅰ 徐州-1,http://stream1.huaihai.tv/xwzh/sd/live.m3u8 28 | 江苏 Ⅰ 徐州-2,http://stream1.huaihai.tv/jjsh/sd/live.m3u8 29 | 江苏 Ⅰ 徐州-3,http://stream1.huaihai.tv/wyys/sd/live.m3u8 30 | 江苏 Ⅰ 徐州-4,http://stream1.huaihai.tv/ggpd/sd/live.m3u8 31 | 32 | 江苏 Ⅰ 徐州-1,http://stream.huaihai.tv/xwzh/sd/live.m3u8 33 | 江苏 Ⅰ 徐州-2,http://stream.huaihai.tv/jjsh/sd/live.m3u8 34 | 江苏 Ⅰ 徐州-3,http://stream.huaihai.tv/wyys/sd/live.m3u8 35 | 江苏 Ⅰ 徐州-4,http://stream.huaihai.tv/ggpd/sd/live.m3u8 36 | 37 | 江苏 Ⅰ 无锡综合,http://live-wx.wifiwx.com/wxtv1/sd/live.m3u8 38 | 江苏 Ⅰ 无锡都市,http://live-wx.wifiwx.com/wxtv3/sd/live.m3u8 39 | 40 | 江苏 Ⅰ 句容综合,http://218.3.92.100:1937/live/jrxwzh/playlist.m3u8 41 | 江苏 Ⅰ 句容生活,http://218.3.92.100:1937/live/shenghuo/playlist.m3u8 42 | 江苏 Ⅰ 句容影视,http://218.3.92.100:1937/live/yingshi/playlist.m3u8 -------------------------------------------------------------------------------- /app/src/main/assets/tvlive/地方台/地方台.河北.tv: -------------------------------------------------------------------------------- 1 | 河北 Ⅰ 河北卫视,http://live01.hebtv.com/channels/hebtv/video_channel_04/flv:2000k/live 2 | 河北 Ⅰ 河北影视,http://live01.hebtv.com/channels/hebtv/video_channel_06/flv:2000k/live 3 | 河北 Ⅰ 河北卫视,http://live01.hebtv.com/channels/hebtv/video_channel_04/m3u8:2000k/live.m3u8 4 | 河北 Ⅰ 河北影视,http://live01.hebtv.com/channels/hebtv/video_channel_06/m3u8:2000k/live.m3u8 5 | 6 | 河北 Ⅰ 河北卫视,http://weblive.hebtv.com/live/hbws_bq/index.m3u8 7 | 河北 Ⅰ 河北影视,http://weblive.hebtv.com/live/hbys_bq/index.m3u8 8 | 河北 Ⅰ 河北经济,http://weblive.hebtv.com/live/hbjj_bq/index.m3u8 9 | 河北 Ⅰ 河北都市,http://weblive.hebtv.com/live/hbds_bq/index.m3u8 10 | 河北 Ⅰ 河北公共,http://weblive.hebtv.com/live/hbgg_bq/index.m3u8 11 | 河北 Ⅰ 河北农民,http://weblive.hebtv.com/live/nmpd_bq/index.m3u8 12 | 河北 Ⅰ 河北少儿,http://weblive.hebtv.com/live/hbse_bq/index.m3u8 13 | 14 | 河北 Ⅰ 衡水新闻综合,http://hls.hsrtv.cn/hls/hstv1.m3u8 15 | 河北 Ⅰ 衡水影视娱乐,http://hls.hsrtv.cn/hls/hstv2.m3u8 16 | 河北 Ⅰ 衡水公共频道,http://hls.hsrtv.cn/hls/hstv3.m3u8 17 | 18 | 河北省 Ⅰ 迁西综合,https://tv.lnshw.com.cn:8123/liveqx2/livestream.m3u8 19 | 河北省 Ⅰ 迁西农业,https://tv.lnshw.com.cn:8123/liveqx1/livestream.m3u8 20 | 河北省 Ⅰ 迁西综艺,https://tv.lnshw.com.cn:8123/lixeqx3/livestream.m3u8 21 | -------------------------------------------------------------------------------- /app/src/main/assets/tvlive/地方台/地方台.河南.tv: -------------------------------------------------------------------------------- 1 | 河南 I 郑州地铁2频道,http://117.158.206.60:9080/live/live29_tzwj_500k.m3u8 2 | 河南 I 开封公共频道,http://117.158.206.60:9080/kaifeng/kftv1.m3u8 3 | 4 | 河南 I 梨园频道,http://117.158.206.60:9080/live/lypd.m3u8 5 | 河南 I 移动戏曲宝,http://117.158.206.60:9080/live/xqb.m3u8 6 | 7 | 河北 I 河北戏曲,http://117.158.206.60:9080/live/live31_tzwj_500k.m3u8 8 | 河北 I 河北人文,http://117.158.206.60:9080/live/renwendili.m3u8 -------------------------------------------------------------------------------- /app/src/main/assets/tvlive/地方台/地方台.浙江.tv: -------------------------------------------------------------------------------- 1 | 浙江卫视,http://yf.m.l.cztv.com/channels/lantian/channel01/1080p.m3u8 2 | 浙江 Ⅰ 浙江钱江,http://yf.m.l.cztv.com/channels/lantian/channel02/1080p.m3u8 3 | 浙江 Ⅰ 浙江经济,http://yf.m.l.cztv.com/channels/lantian/channel03/1080p.m3u8 4 | 浙江 Ⅰ 浙江教育,http://yf.m.l.cztv.com/channels/lantian/channel04/1080p.m3u8 5 | 浙江 Ⅰ 浙江影视,http://yf.m.l.cztv.com/channels/lantian/channel05/1080p.m3u8 6 | 浙江 Ⅰ 浙江休闲,http://yf.m.l.cztv.com/channels/lantian/channel06/1080p.m3u8 7 | 浙江 Ⅰ 浙江新闻,http://yf.m.l.cztv.com/channels/lantian/channel07/1080p.m3u8 8 | 浙江 Ⅰ 浙江少儿,http://yf.m.l.cztv.com/channels/lantian/channel08/1080p.m3u8 9 | 浙江 Ⅰ 浙江留学,http://yf.m.l.cztv.com/channels/lantian/channel09/1080p.m3u8 10 | 浙江 Ⅰ 浙江国际,http://yf.m.l.cztv.com/channels/lantian/channel10/1080p.m3u8 11 | 浙江 Ⅰ 浙江易购,http://yf.m.l.cztv.com/channels/lantian/channel11/1080p.m3u8 12 | 浙江 Ⅰ 浙江数码,http://yf.m.l.cztv.com/channels/lantian/channel12/1080p.m3u8 13 | 14 | 浙江 Ⅰ 浙江钱江,http://hw-m-l.cztv.com/channels/lantian/channel02/720p.m3u8 15 | 浙江 Ⅰ 浙江经济,http://hw-m-l.cztv.com/channels/lantian/channel03/720p.m3u8 16 | 浙江 Ⅰ 浙江教育,http://hw-m-l.cztv.com/channels/lantian/channel04/720p.m3u8 17 | 浙江 Ⅰ 浙江影视,http://hw-m-l.cztv.com/channels/lantian/channel05/720p.m3u8 18 | 浙江 Ⅰ 浙江休闲,http://hw-m-l.cztv.com/channels/lantian/channel06/720p.m3u8 19 | 浙江 Ⅰ 浙江新闻,http://hw-m-l.cztv.com/channels/lantian/channel07/720p.m3u8 20 | 浙江 Ⅰ 浙江少儿,http://hw-m-l.cztv.com/channels/lantian/channel08/720p.m3u8 21 | 浙江 Ⅰ 浙江留学,http://hw-m-l.cztv.com/channels/lantian/channel09/720p.m3u8 22 | 浙江 Ⅰ 浙江国际,http://hw-m-l.cztv.com/channels/lantian/channel10/720p.m3u8 23 | 浙江 Ⅰ 浙江易购,http://hw-m-l.cztv.com/channels/lantian/channel11/720p.m3u8 24 | 浙江 Ⅰ 浙江数码,http://hw-m-l.cztv.com/channels/lantian/channel12/720p.m3u8 25 | 26 | 浙江 Ⅰ 绍兴综合,http://live.shaoxing.com.cn/video/s10001-sxtv1/index.m3u8 27 | 浙江 Ⅰ 绍兴影视,http://live.shaoxing.com.cn/video/s10001-sxtv3/index.m3u8 28 | -------------------------------------------------------------------------------- /app/src/main/assets/tvlive/地方台/地方台.湖北.tv: -------------------------------------------------------------------------------- 1 | 湖北卫视,http://live.cjyun.org/hubeitv/s10008-live-hbws.m3u8 2 | 3 | 湖北 Ⅰ 荆门公共台,http://jingmen.live.cjyun.org/video/s10101-jmggpd.m3u8 4 | 湖北 Ⅰ 荆门综合台,http://jingmen.live.cjyun.org/video/s10101-jmnews.m3u8 5 | 6 | 湖北 Ⅰ 荆门公共台,http://live.jmtv.com.cn/ngpd/sd/live.m3u8 7 | 湖北 Ⅰ 荆门综合台,http://live.jmtv.com.cn/xwzh/sd/live.m3u8 -------------------------------------------------------------------------------- /app/src/main/assets/tvlive/地方台/地方台.湖南.tv: -------------------------------------------------------------------------------- 1 | 湖南卫视,http://httpdvb.slave.homed.hunancatv.com:13164/playurl?playtype=live&protocol=hls&accesstoken=R5DEE27D0U309B3089K7735A23DIC56EFF0APBM2FFCD29V0Z69015W15DEAE8ECE8A23EB&playtoken=ABCDEFGH&programid=4200000136.m3u8 2 | 湖南 Ⅰ 湖南电影,http://httpdvb.slave.homed.hunancatv.com:13164/playurl?playtype=live&protocol=hls&accesstoken=R5DEE27D0U309B3089K7735A23DIC56EFF0APBM2FFCD29V0Z69015W15DEAE8ECE8A23EB&playtoken=ABCDEFGH&programid=4200000026.m3u8 3 | 湖南 Ⅰ 长沙新闻,http://httpdvb.slave.homed.hunancatv.com:13164/playurl?playtype=live&protocol=hls&accesstoken=R5DEE27D0U309B3089K7735A23DIC56EFF0APBM2FFCD29V0Z69015W15DEAE8ECE8A23EB&playtoken=ABCDEFGH&programid=4200000190.m3u8 4 | 湖南 Ⅰ 郴州综合,http://httpdvb.slave.homed.hunancatv.com:13164/playurl?playtype=live&protocol=hls&accesstoken=R5DEE27D0U309B3089K7735A23DIC56EFF0APBM2FFCD29V0Z69015W15DEAE8ECE8A23EB&playtoken=ABCDEFGH&programid=4200000267.m3u8 5 | 湖南 Ⅰ 娄底综合,http://httpdvb.slave.homed.hunancatv.com:13164/playurl?playtype=live&protocol=hls&accesstoken=R5DEE27D0U309B3089K7735A23DIC56EFF0APBM2FFCD29V0Z69015W15DEAE8ECE8A23EB&playtoken=ABCDEFGH&programid=4200000268.m3u8 6 | 湖南 Ⅰ 邵阳综合,http://httpdvb.slave.homed.hunancatv.com:13164/playurl?playtype=live&protocol=hls&accesstoken=R5DEE27D0U309B3089K7735A23DIC56EFF0APBM2FFCD29V0Z69015W15DEAE8ECE8A23EB&playtoken=ABCDEFGH&programid=4200000269.m3u8 7 | 湖南 Ⅰ 株洲综合,http://httpdvb.slave.homed.hunancatv.com:13164/playurl?playtype=live&protocol=hls&accesstoken=R5DEE27D0U309B3089K7735A23DIC56EFF0APBM2FFCD29V0Z69015W15DEAE8ECE8A23EB&playtoken=ABCDEFGH&programid=4200000270.m3u8 8 | 湖南 Ⅰ 张家界综,http://httpdvb.slave.homed.hunancatv.com:13164/playurl?playtype=live&protocol=hls&accesstoken=R5DEE27D0U309B3089K7735A23DIC56EFF0APBM2FFCD29V0Z69015W15DEAE8ECE8A23EB&playtoken=ABCDEFGH&programid=4200000271.m3u8 9 | 10 | 江西卫视,http://httpdvb.slave.homed.hunancatv.com:13164/playurl?playtype=live&protocol=hls&accesstoken=R5DEE27D0U309B3089K7735A23DIC56EFF0APBM2FFCD29V0Z69015W15DEAE8ECE8A23EB&playtoken=ABCDEFGH&programid=4200000238.m3u8 11 | 东方卫视,http://httpdvb.slave.homed.hunancatv.com:13164/playurl?playtype=live&protocol=hls&accesstoken=R5DEE27D0U309B3089K7735A23DIC56EFF0APBM2FFCD29V0Z69015W15DEAE8ECE8A23EB&playtoken=ABCDEFGH&programid=4200000347.m3u8 12 | -------------------------------------------------------------------------------- /app/src/main/assets/tvlive/地方台/地方台.重庆.tv: -------------------------------------------------------------------------------- 1 | 重庆卫视,http://qxlmlive.cbg.cn:1935/app_2/ls_67.stream/chunklist.m3u8 2 | 3 | 重庆卫视,https://onsitecdn.cbgcloud.com/76btqk/d6tb4v.m3u8 4 | 重庆新闻,https://onsitecdn.cbgcloud.com/4zjt2a/zb7nip.m3u8 5 | 6 | 万州综合,http://123.146.162.24:8017/iTXwrGs/800/live.m3u8 7 | 万州三峡,http://123.146.162.24:8017/c2F0hmi/1000/live.m3u8 8 | 万州影视,http://123.146.162.24:8017/d4ceB1a/1000/live.m3u8 9 | 万州科教,http://123.146.162.24:8017/Cz7WPb8/800/live.m3u8 10 | 11 | 万州综合,http://wanzhoulive.cbg.cn:8017/iTXwrGs/800/live.m3u8 12 | 万州三峡,http://wanzhoulive.cbg.cn:8017/c2F0hmi/1000/live.m3u8 13 | 万州影视,http://wanzhoulive.cbg.cn:8017/d4ceB1a/1000/live.m3u8 14 | 万州科教,http://wanzhoulive.cbg.cn:8017/Cz7WPb8/800/live.m3u8 15 | 16 | 万州综合,http://123.146.162.24:8013/tslslive/noEX9SG/hls/live_sd.m3u8 17 | 万州三峡,http://123.146.162.24:8013/tslslive/PU2vzMI/hls/live_sd.m3u8 18 | 万州影视,http://123.146.162.24:8013/tslslive/vWlnEzU/hls/live_sd.m3u8 19 | 万州科教,http://123.146.162.24:8013/tslslive/URetCnP/hls/live_sd.m3u8 20 | 21 | 22 | 23 | ##重庆少儿,http://219.153.252.50/PLTV/88888888/224/3221225646/chunklist.m3u8 24 | 重庆少儿,http://219.153.252.50/PLTV/88888888/224/3221225646/1.m3u8 25 | 重庆新闻,http://219.153.252.50/PLTV/88888888/224/3221225531/1.m3u8 26 | 重庆文娱,http://219.153.252.50/PLTV/88888888/224/3221225630/1.m3u8 27 | 重庆影视,http://219.153.252.50/PLTV/88888888/224/3221225633/1.m3u8 28 | 重庆时尚,http://219.153.252.50/PLTV/88888888/224/3221225627/1.m3u8 29 | 重庆都市,http://219.153.252.50/PLTV/88888888/224/3221225631/1.m3u8 30 | 阜阳综合,http://219.153.252.50/PLTV/88888888/224/3221225623/1.m3u8 31 | 钦州综合,http://219.153.252.50/PLTV/88888888/224/3221225628/1.m3u8 32 | 防城港综合,http://219.153.252.50/PLTV/88888888/224/3221225644/1.m3u8 33 | 黔西南综合,http://219.153.252.50/PLTV/88888888/224/3221225638/1.m3u8 34 | -------------------------------------------------------------------------------- /app/src/main/assets/tvlive/地方台/地方台.黑龙江.tv: -------------------------------------------------------------------------------- 1 | 黑龙江台,http://stream3.hljtv.com/hljws2/sd/live.m3u8 2 | 3 | -------------------------------------------------------------------------------- /app/src/main/assets/tvlive/承德技师学院.tv: -------------------------------------------------------------------------------- 1 | stream.cdjsxy.cn 2 | 北京卫视,http://stream.cdjsxy.cn/bjws/sd/live.m3u8 3 | 湖南卫视,http://stream.cdjsxy.cn/hnws/sd/live.m3u8 4 | CCTV 17,http://stream.cdjsxy.cn/lypd/sd/live.m3u8 5 | CETV 教育一台,http://stream.cdjsxy.cn/zgjy/sd/live.m3u8 -------------------------------------------------------------------------------- /app/src/main/assets/tvlive/教育.北京.tv: -------------------------------------------------------------------------------- 1 | 北京市 教育网 2 | 凤凰中文,rtmp://58.200.131.2:1935/livetv/fhzw 3 | 凤凰资讯,rtmp://58.200.131.2:1935/livetv/fhzx 4 | 5 | CHC高清电影 720P,rtmp://58.200.131.2:1935/livetv/chchd 6 | CHC家庭电影 540P,rtmp://58.200.131.2:1935/livetv/chctv 7 | CHC动作电影 540P,rtmp://58.200.131.2:1935/livetv/chcatv 8 | 9 | 国家地理,rtmp://58.200.131.2:1935/livetv/natlgeo 10 | 探索频道,rtmp://58.200.131.2:1935/livetv/discovery 11 | 12 | Star Sports,rtmp://58.200.131.2:1935/livetv/starsports 13 | CHANNEL[V],rtmp://58.200.131.2:1935/livetv/channelv 14 | 15 | 湖南卫视,rtmp://58.200.131.2:1935/livetv/hunantv 16 | 江苏卫视,rtmp://58.200.131.2:1935/livetv/jstv 17 | 凤凰电影,rtmp://58.200.131.2:1935/livetv/fhdy 18 | 星空卫视,rtmp://58.200.131.2:1935/livetv/startv 19 | 20 | CCTV16,rtmp://58.200.131.2:1935/livetv/cctv16 21 | CETV-1,rtmp://58.200.131.2:1935/livetv/cetv1 22 | CETV-2,rtmp://58.200.131.2:1935/livetv/cetv2 23 | CETV-3,rtmp://58.200.131.2:1935/livetv/cetv3 24 | CETV-4,rtmp://58.200.131.2:1935/livetv/cetv4 25 | 26 | CCTV-风云剧场,rtmp://58.200.131.2:1935/livetv/fyjctv 27 | CCTV-风云音乐,rtmp://58.200.131.2:1935/livetv/fyyytv 28 | CCTV-风云足球,rtmp://58.200.131.2:1935/livetv/fyzqtv 29 | CCTV-国防军事,rtmp://58.200.131.2:1935/livetv/gfjstv 30 | CCTV-怀旧剧场,rtmp://58.200.131.2:1935/livetv/hjjctv 31 | CCTV-世界地理,rtmp://58.200.131.2:1935/livetv/sjdltv 32 | -------------------------------------------------------------------------------- /app/src/main/assets/tvlive/港澳台.tv: -------------------------------------------------------------------------------- 1 | 香港卫视,http://zhibo.hkstv.tv/livestream/mutfysrq.flv 2 | 香港卫视,http://zhibo.hkstv.tv/livestream/mutfysrq/playlist.m3u8 3 | 香港亞美卫视,http://dcunilive30-lh.akamaihd.net/i/dclive_1@535522/master.m3u8 4 | 香港阳光卫视,https://stream.chinasuntv.com/680k/mid_video_index.m3u8 5 | 6 | 香港亚视,https://de035ceb0768225b04e9a007abe39fca.live.prod.hkatv.com/a1_cbr_lo.m3u8 7 | 8 | 澳门奥视,http://61.244.22.4/ch1/ch1.live/playelist.m3u8 9 | 澳门RTP,http://61.244.22.4/ch2/ch2.live/playelist.m3u8 10 | 澳门电影,http://61.244.22.4/ch3/ch3.live/playelist.m3u8 11 | 澳门体育,http://61.244.22.4/ch4/sport_ch4.live/playelist.m3u8 12 | 澳视卫星,http://61.244.22.5/ch3/_definst_/ch3.live/playlist.m3u8 13 | 14 | 耀才财经,rtmp://202.69.69.180/webcast/bshdlive-pc 15 | GoodTV 综合1080P,http://live-350k.streamingfast.net/hls-live/goodtv/_definst_/liveevent/live-ch1-3.m3u8 16 | GoodTV 综合 720P,http://live-350k.streamingfast.net/hls-live/goodtv/_definst_/liveevent/live-ch1-2.m3u8 17 | GoodTV 综合 480P,https://live-350k.streamingfast.net/hls-live/goodtv/_definst_/liveevent/live-ch1-1.m3u8 18 | GoodTV 真理1080P,http://live-350k.streamingfast.net/hls-live/goodtv/_definst_/liveevent/live-ch2-3.m3u8 19 | GoodTV 真理 720P,http://live-350k.streamingfast.net/hls-live/goodtv/_definst_/liveevent/live-ch2-2.m3u8 20 | GoodTV 真理 480P,https://live-350k.streamingfast.net/hls-live/goodtv/_definst_/liveevent/live-ch2-1.m3u8 21 | Electric Now,https://bozztv.com/veset1/720pHi/playlist_720pHi.m3u8 22 | -------------------------------------------------------------------------------- /app/src/main/assets/tvlive/源代理.tv: -------------------------------------------------------------------------------- 1 | ## http://livecdn.myntv.cn/live/mykj.flv?wsSecret=2cb2ffccbba1757a3cb0b35b5e14fa78&wsTime=5e718b5c 2 | 四川 Ⅰ 绵阳科技,http://live.826pc.com/mytv/live.php?id=2 3 | 四川 Ⅰ 绵阳公共,http://live.826pc.com/mytv/live.php?id=3 4 | 四川 Ⅰ 绵阳综合,http://live.826pc.com/mytv/live.php?id=4 5 | 6 | ## 代理 http://show.kan0512.com/ncsztv5/playlist.m3u8?_upt=691d7e1d1584445972 7 | 江苏 Ⅰ 苏州生活,http://player.ioioz.com/18/tv.php?tv=jssztv&id=53 8 | 江苏 Ⅰ 苏州未知,http://player.ioioz.com/18/tv.php?tv=jssztv&id=52 9 | 江苏 Ⅰ 苏州未知,http://player.ioioz.com/18/tv.php?tv=jssztv&id=51 10 | 11 | ## 代理 http://stream5.fjtv.net/zhpd/sd/live.m3u8?_upt=138aa2271584445850 12 | 福建 Ⅰ 福建综合,http://player.ioioz.com/18/tv.php?tv=fjtv&id=fjzh 13 | 福建 Ⅰ 福建公共,http://player.ioioz.com/18/tv.php?tv=fjtv&id=fjgg 14 | 福建 Ⅰ 福建旅游,http://player.ioioz.com/18/tv.php?tv=fjtv&id=fjds 15 | 16 | ## 代理 http://stream6.fjtv.net/haixia/sd/live.m3u8?_upt=e17bf1611584504983&drm 17 | 海峡卫视,http://player.ioioz.com/18/tv.php?tv=fjtv&id=hxws 18 | 19 | ## 代理 http://hoge.play3.cloud.henancatv.com/hntv2/playlist.m3u8?_upt=5d4d14481584505122 20 | 河南 Ⅰ 河南都市台,http://player.200877926.top/18/tv.php?tv=hayx&id=82 21 | 22 | ## 代理 http://show.kan0512.com/ncsztv1/sd/live.m3u8?_upt=f5ac42491584440257 23 | 江苏 Ⅰ 苏州综合,http://player.200877926.top/17/js/suzhoum3u8.php?id=60 24 | 25 | ## 代理 http://stream.zhyantai.com/yttv1/playlist.m3u8?_upt=d88c76681584505478 26 | 山东 Ⅰ 烟台综合台,http://player.200877926.top/hogejump/yantai.php?id=2 27 | 山东 Ⅰ 烟台综合台,http://player.200877926.top/hogejump/yantai.php?id=3 28 | 山东 Ⅰ 烟台综合台,http://player.200877926.top/hogejump/yantai.php?id=4 29 | 山东 Ⅰ 烟台影视台,http://player.200877926.top/hogejump/yantai.php?id=5 30 | 31 | ## 代理 http://stream1.hnntv.cn/lywsgq/sd/live.m3u8?_upt=161541891584505321 32 | 海南卫视,http://hnhbxww.com/live.php?http://mlive1.91kds.cn/b9/hitv.m3u8?id=lywshd 33 | 34 | ## 代理 http://hk4-edge26-1.edgeware.tvb.com/session/1e77a532-68c0-11ea-b02c-005056903a13/dtysfd/newslive/smil:mobilehd_inews.smil/playlist.m3u8?token=af68e6ba8cc5c6ef5f6924824450db99_1584584894_1584584894 35 | TVB 无线新闻,http://www.liveviptv.xyz/tv/tvb.php?vid=wxxw 36 | TVB 无线新闻,http://www.liveviptv.xyz/tv/tvb.php 37 | -------------------------------------------------------------------------------- /app/src/main/assets/tvlive/移动源/移动.其他.tv: -------------------------------------------------------------------------------- 1 | 河北石家庄 移动 2 | CCTV04,http://111.63.117.13:6060/030000001000/CCTV-4/CCTV-4.m3u8 3 | CCTV15,http://111.63.117.13:6060/030000001000/G_CCTV-15/G_CCTV-15.m3u8 4 | 5 | 河北石家庄 移动 6 | CCTV3,http://111.11.123.47:6610/030000001000/CCTV-3/CCTV-3.m3u8 7 | CCTV5,http://111.11.123.47:6610/030000001000/CCTV-5/CCTV-5.m3u8 8 | 9 | 北京移动 10 | 卡酷少儿,http://221.179.217.70/PLTV/88888888/224/3221225907/1.m3u8 11 | 12 | 黑龙江哈尔滨 移动 13 | 四川卫视,http://39.134.65.87/PLTV/88888888/224/3221225497/index.m3u8 14 | 东南卫视,http://39.134.65.162/PLTV/88888888/224/3221225500/index.m3u8 15 | 宁夏卫视,http://39.134.65.162/PLTV/88888888/224/3221225579/index.m3u8 16 | 内蒙卫视,http://39.134.65.162/PLTV/88888888/224/3221225577/index.m3u8 -------------------------------------------------------------------------------- /app/src/main/assets/tvlive/移动源/移动.南昌2.tv: -------------------------------------------------------------------------------- 1 | ## m-tvlmedia.public.bcs.ysten.com CDN is 223.82.250.72 2 | ## 3 | 江西省南昌市 移动 4 | CCTV 15,http://m-tvlmedia.public.bcs.ysten.com/live/cctv-15/1.m3u8 5 | CCTV 15,http://223.82.250.72/live/cctv-15/1.m3u8 6 | 7 | 湖南卫视,http://m-tvlmedia.public.bcs.ysten.com/live/hdhunanstv/1.m3u8 8 | 新疆卫视,http://m-tvlmedia.public.bcs.ysten.com/live/xinjiangstv/1.m3u8 9 | 凤凰中文,http://m-tvlmedia.public.bcs.ysten.com/live/fhchinese/1.m3u8 10 | 巴中公共,http://m-tvlmedia.public.bcs.ysten.com/live/hddongfangstv/1.m3u8 11 | 12 | 凤凰中文,http://m-tvlmedia.public.bcs.ysten.com/ysten-bussiness/live/fhchinese/1.m3u8 13 | 凤凰资讯,http://m-tvlmedia.public.bcs.ysten.com/ysten-bussiness/live/fhzixun/1.m3u8 14 | 卡酷少儿,http://m-tvlmedia.public.bcs.ysten.com/ysten-business/live/kakukaton/1.m3u8 15 | 优漫卡通,http://m-tvlmedia.public.bcs.ysten.com/ysten-business/live/youmankaton/1.m3u8 16 | 17 | 江西南昌移动 18 | CCTV-5+,http://117.169.120.132:8080/live/hdcctv05plus/playlist.m3u8 19 | CCTV-8,http://117.169.120.132:8080/live/cctv-8/playlist.m3u8 20 | CCTV-04,http://117.169.120.140:8080/live/cctv-4/.m3u8 21 | CCTV-13,http://117.169.120.140:8080/live/cctv-13/.m3u8 22 | 23 | 深圳卫视,http://117.169.120.140:8080/live/hdshenzhenstv/.m3u8 24 | 江西卫视,http://117.169.120.140:8080/live/jiangxistv/.m3u8 25 | 重庆卫视,http://117.169.120.132:8080/live/chongqingstv/playlist.m3u8 26 | 东方财经,http://117.169.120.140:8080/live/dongnanstv/.m3u8 27 | 娄底公共,http://117.169.120.140:8080/live/hdtianjinstv/.m3u8 28 | 29 | 凤凰中文,http://117.169.120.138:8080/live/fhchinese/index.m3u8 30 | 凤凰资讯,http://117.169.120.138:8080/live/fhzixun/index.m3u8 31 | -------------------------------------------------------------------------------- /app/src/main/assets/失效/天翼视讯.tv: -------------------------------------------------------------------------------- 1 | tv189.com 天翼视讯 2 | CIBN炫佳动漫,http://live3.nty.tv189.com/tm-yg1dmpd-512k.m3u8 3 | CIBN风尚运动,http://live3.nty.tv189.com/tm-yg1dysc-512k.m3u8 4 | CIBN健康,http://live3.nty.tv189.com/tm-yg1jkpd-512k.m3u8 5 | CIBN今古珍藏,http://live3.nty.tv189.com/tm-yg1zypd-512k.m3u8 6 | CIBN军事,http://live3.nty.tv189.com/tm-yg1gzjc-512k.m3u8 7 | CIBN旅游,http://live3.nty.tv189.com/tm-yg1lypd-512k.m3u8 8 | CIBN热播剧场,http://live3.nty.tv189.com/tm-yg1rbjc-512k.m3u8 9 | CIBN流金岁月,http://live3.nty.tv189.com/tm-yg1scpd-512k.m3u8 10 | CIBN古装剧场,http://live1.nty.tv189.com/tm-yg1zypd-512k.m3u8 11 | CIBN经典剧场,http://live3.nty.tv189.com/tm-yg1jdjc-512k.m3u8 12 | CIBN骄阳剧场,http://live3.nty.tv189.com/tm-yg1jyjc-512k.m3u8 13 | CIBN动作影院,http://live3.nty.tv189.com/tm-yg1dzyy-512k.m3u8 14 | CIBN情感影院,http://live3.nty.tv189.com/tm-yg1qgyy-512k.m3u8 15 | CIBN精品影院,http://live3.nty.tv189.com/tm-yg1jpyy-512k.m3u8 16 | CIBN喜剧影院,http://live3.nty.tv189.com/tm-yg1xjyy-512k.m3u8 17 | CIBN电影,http://live3.nty.tv189.com/tm-yg1dypd-512k.m3u8 18 | CIBN微电影,http://live3.nty.tv189.com/tm-yg1wdypd-512k.m3u8 19 | -------------------------------------------------------------------------------- /app/src/main/assets/失效/电信.上海.tv: -------------------------------------------------------------------------------- 1 | 上海市 电信 2 | CCTV1HD,http://101.89.132.136/live/tm-cctv1-4000k.m3u8 3 | CCTV2HD,http://101.89.132.136/live/tm-cctv2-4000k.m3u8 4 | CCTV3HD,http://101.89.132.136/live/tm-cctv3-4000k.m3u8 5 | CCTV4HD,http://101.89.132.136/live/tm-cctv4-4000k.m3u8 6 | CCTV5HD,http://101.89.132.136/live/tm-cctv5-4000k.m3u8 7 | CCTV6HD,http://101.89.132.136/live/tm-cctv6-4000k.m3u8 8 | CCTV7HD,http://101.89.132.136/live/tm-cctv7-4000k.m3u8 9 | CCTV8HD,http://101.89.132.136/live/tm-cctv8-4000k.m3u8 10 | CCTV9HD,http://101.89.132.136/live/tm-cctv9-4000k.m3u8 11 | CCTV10HD,http://101.89.132.136/live/tm-cctv10-4000k.m3u8 12 | CCTV12HD,http://101.89.132.136/live/tm-cctv12-4000k.m3u8 13 | CCTV14HD,http://101.89.132.136/live/tm-cctv14-4000k.m3u8 14 | 15 | 北京卫视,http://101.89.132.136/live/tm-btv1hd-4000k.m3u8 16 | 北京文艺,http://101.89.132.136/live/tm-btv2hd-4000k.m3u8 17 | 北京影视,http://101.89.132.136/live/tm-btv4-4000k.m3u8 18 | 北京新闻,http://101.89.132.136/live/tm-btv9-4000k.m3u8 19 | 北京纪实,http://101.89.132.136/live/tm-btvjishihd-4000k.m3u8 20 | 安徽卫视,http://101.89.132.136/live/tm-ahwshd-4000k.m3u8 21 | 东方卫视,http://101.89.132.136/live/tm-dfwshd-4000k.m3u8 22 | 深圳卫视,http://101.89.132.136/live/tm-shenzhenhd-4000k.m3u8 23 | 广东卫视,http://101.89.132.136/live/tm-guangdonghd-4000k.m3u8 24 | 黑龙卫视,http://101.89.132.136/live/tm-heilongjianghd-4000k.m3u8 25 | 辽宁卫视,http://101.89.132.136/live/tm-liaoninghd-4000k.m3u8 26 | 27 | 喜剧影院,http://101.89.132.179/live/tm-yg1xjyy-1200k.m3u8 28 | 高清电影,http://101.89.132.179/live/tm-yg1dypd-1200k.m3u8 29 | 情感影院,http://101.89.132.179/live/tm-yg1qgyy-1200k.m3u8 30 | 动作影院,http://101.89.132.179/live/tm-yg1dzyy-1200k.m3u8 31 | 精品影院,http://101.89.132.179/live/tm-yg1jpyy-1200k.m3u8 32 | 经典剧场,http://101.89.132.179/live/tm-yg1jdjc-1200k.m3u8 33 | 骄阳剧场,http://101.89.132.179/live/tm-yg1jyjc-1200k.m3u8 34 | 上海电视剧,http://101.89.132.179/live/tm-shdsj-4000k.m3u8 35 | -------------------------------------------------------------------------------- /app/src/main/assets/失效/电信.其他.tv: -------------------------------------------------------------------------------- 1 | 2 | 河南卫视,http://123.163.119.21:9602/live/live1/500K/tzwj_video.m3u8 3 | -------------------------------------------------------------------------------- /app/src/main/assets/失效/移动.其他.tv: -------------------------------------------------------------------------------- 1 | 2 | 北京移动 3 | 凤凰中文,http://111.13.42.9/PLTV/88888888/224/3221225942/1.m3u8 4 | 凤凰中文,http://111.13.42.13/PLTV/88888888/224/3221225942/1.m3u8 5 | 6 | 黑龙江哈尔滨 移动 7 | CCTV1,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225587/index.m3u8 8 | CCTV1,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225710/index.m3u8 9 | CCTV3,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225606/index.m3u8 10 | CCTV4,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225590/index.m3u8 11 | CCTV5,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225711/index.m3u8 12 | CCTV6,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225607/index.m3u8 13 | CCTV8,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225608/index.m3u8 14 | CCTV13,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225599/index.m3u8 15 | 16 | 黑龙江哈尔滨 移动 17 | CCTV 04,http://39.134.65.162/PLTV/88888888/224/3221225487/index.m3u8 18 | CCTV 08,http://39.134.65.162/PLTV/88888888/224/3221225692/index.m3u8 19 | 20 | 浙江省温州市 移动 21 | CCTV 4K,http://39.134.185.69/PLTV/88888888/224/3221226758/index.m3u8 22 | 23 | hebyun.com.cn 24 | CCTV 01,http://umslive.hebyun.com.cn/live/cctv1/1500k/tzwj_video.m3u8 25 | CCTV 02,http://umslive.hebyun.com.cn/live/cctv2/1500k/tzwj_video.m3u8 26 | CCTV 04,http://umslive.hebyun.com.cn/live/cctv4/1500k/tzwj_video.m3u8 27 | 28 | 陕西西安 移动 29 | 浙江卫视,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221225598/index.m3u8 30 | 宁夏卫视,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221225625/index.m3u8 31 | 甘肃卫视,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221225626/index.m3u8 32 | 内蒙古台,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221225631/index.m3u8 33 | 江苏卫视,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221225663/index.m3u8 34 | 35 | 贵州安顺 移动 36 | 吉林卫视,http://39.135.15.70:6610/PLTV/88888888/224/3221225753/1/1000.m3u8?zte_auth=f395930b&IASHttpSessionId=OTT741220200310083219056978&zte_bandwidth=1000&bandwidth=8467456&ispcode=6&timeformat=local&channel=3221225753&m3u8_level=2&ztecid=3221225753 -------------------------------------------------------------------------------- /app/src/main/assets/失效/移动.福州2.tv: -------------------------------------------------------------------------------- 1 | 福建福州移动直播源(https://www.right.com.cn/forum/thread-833312-1-1.html) 2 | CCTV-1,http://183.251.61.207/PLTV/88888888/224/3221225812/index.m3u8 3 | CCTV-4,http://183.251.61.207/PLTV/88888888/224/3221225802/index.m3u8 4 | CCTV-6,http://183.251.61.207/PLTV/88888888/224/3221225804/index.m3u8 5 | CCTV-11,http://183.251.61.207/PLTV/88888888/224/3221225815/index.m3u8 6 | CCTV-13,http://183.251.61.207/PLTV/88888888/224/3221225817/index.m3u8 7 | CCTV-14,http://183.251.61.207/PLTV/88888888/224/3221225819/index.m3u8 8 | 9 | 广东卫视,http://183.251.61.207/PLTV/88888888/224/3221225824/index.m3u8 10 | 湖南卫视,http://183.251.61.207/PLTV/88888888/224/3221225827/index.m3u8 11 | 贵州卫视,http://183.251.61.207/PLTV/88888888/224/3221225838/index.m3u8 12 | 甘肃卫视,http://183.251.61.207/PLTV/88888888/224/3221225845/index.m3u8 13 | 新疆卫视,http://183.251.61.207/PLTV/88888888/224/3221225852/index.m3u8 14 | 15 | CCTV-1HD,http://183.251.61.207/PLTV/88888888/224/3221225922/index.m3u8 16 | CCTV-3HD,http://183.251.61.207/PLTV/88888888/224/3221225924/index.m3u8 17 | 18 | NewTV动作,http://183.251.61.207/PLTV/88888888/224/3221225879/index.m3u8 19 | NewTV惊悚,http://183.251.61.207/PLTV/88888888/224/3221225885/index.m3u8 20 | NewTV军旅,http://183.251.61.207/PLTV/88888888/224/3221225887/index.m3u8 21 | NewTV搏击,http://183.251.61.207/PLTV/88888888/224/3221225895/index.m3u8 22 | 23 | 凤凰资讯,http://183.251.61.221/PLTV/88888888/224/3221225901/index.m3u8 24 | -------------------------------------------------------------------------------- /app/src/main/assets/失效/移动.福州3.tv: -------------------------------------------------------------------------------- 1 | 福建福州 2 | 纯享4K,http://112.50.243.8/PLTV/88888888/224/3221226825/1.m3u8 3 | 咪咕4K,http://112.50.243.8/PLTV/88888888/224/3221226833/1.m3u8 4 | 凤凰中文,http://112.50.243.8/PLTV/88888888/224/3221225900/1.m3u8 5 | 凤凰资讯,http://112.50.243.8/PLTV/88888888/224/3221225901/1.m3u8 6 | 7 | 凤凰中文,http://112.50.243.8/PLTV/88888888/224/3221225900/index.m3u8 8 | 凤凰资讯,http://112.50.243.8/PLTV/88888888/224/3221225901/index.m3u8 9 | 10 | 陕西卫视,http://112.50.243.8/PLTV/88888888/224/3221225850/index.m3u8 11 | 内蒙卫视,http://112.50.243.8/PLTV/88888888/224/3221225846/index.m3u8 12 | 新疆卫视,http://112.50.243.8/PLTV/88888888/224/3221225852/index.m3u8 13 | 云南卫视,http://112.50.243.8/PLTV/88888888/224/3221225853/index.m3u8 14 | 青海卫视,http://112.50.243.8/PLTV/88888888/224/3221225841/index.m3u8 15 | 山西卫视,http://112.50.243.8/PLTV/88888888/224/3221225839/index.m3u8 16 | 东南卫视,http://112.50.243.8/PLTV/88888888/224/3221225833/index.m3u8 17 | 甘肃卫视,http://112.50.243.8/PLTV/88888888/224/3221225845/index.m3u8 18 | 19 | Newtv超级电影,http://112.50.243.12/PLTV/88888888/224/3221225804/index.m3u8 20 | -------------------------------------------------------------------------------- /app/src/main/java/com/shuiyes/video/bean/AlbumList.java: -------------------------------------------------------------------------------- 1 | package com.shuiyes.video.bean; 2 | 3 | import java.util.concurrent.CopyOnWriteArrayList; 4 | 5 | public class AlbumList extends CopyOnWriteArrayList { 6 | 7 | @Override 8 | public boolean add(Album album) { 9 | boolean find = false; 10 | for (Album tmp:this){ 11 | if(tmp.getPlayurl().equals(album.getPlayurl()) && tmp.getSize() == album.getSize()){ 12 | find = true; 13 | break; 14 | } 15 | } 16 | if(!find){ 17 | return super.add(album); 18 | }else{ 19 | return false; 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /app/src/main/java/com/shuiyes/video/bean/ListVideo.java: -------------------------------------------------------------------------------- 1 | package com.shuiyes.video.bean; 2 | 3 | public class ListVideo { 4 | 5 | private String text; 6 | private String title; 7 | private String url; 8 | 9 | public ListVideo(int id, String title, String url) { 10 | this(id + "", title, url); 11 | } 12 | 13 | public ListVideo(String text, String title, String url) { 14 | this.text = text; 15 | this.title = title; 16 | this.url = url; 17 | } 18 | 19 | public String getText() { 20 | return text; 21 | } 22 | 23 | public void setText(String text) { 24 | this.text = text; 25 | } 26 | 27 | public String getTitle() { 28 | return title; 29 | } 30 | 31 | public void setTitle(String title) { 32 | this.title = title; 33 | } 34 | 35 | public String getUrl() { 36 | return url; 37 | } 38 | 39 | public void setUrl(String url) { 40 | this.url = url; 41 | } 42 | 43 | @Override 44 | public String toString() { 45 | return "ListVideo [text=" + text + ", title='" + title + "', url='" + url + "']"; 46 | } 47 | 48 | } 49 | -------------------------------------------------------------------------------- /app/src/main/java/com/shuiyes/video/bean/PlayVideo.java: -------------------------------------------------------------------------------- 1 | package com.shuiyes.video.bean; 2 | 3 | public class PlayVideo implements Cloneable { 4 | 5 | protected String text; 6 | protected String url; 7 | 8 | public PlayVideo(String text, String url) { 9 | this.text = text; 10 | this.url = url; 11 | } 12 | 13 | public String getText() { 14 | return text; 15 | } 16 | 17 | public void setText(String text) { 18 | this.text = text; 19 | } 20 | 21 | public String getUrl() { 22 | return url; 23 | } 24 | 25 | public void setUrl(String url) { 26 | this.url = url; 27 | } 28 | 29 | public String toStr() { 30 | return "PlayVideo{" + text 31 | // + ", url='" + url + '\'' 32 | + '}'; 33 | } 34 | 35 | @Override 36 | public PlayVideo clone() { 37 | try { 38 | return (PlayVideo) super.clone(); 39 | } catch (CloneNotSupportedException e) { 40 | e.printStackTrace(); 41 | } 42 | return null; 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /app/src/main/java/com/shuiyes/video/dialog/AlbumDialog.java: -------------------------------------------------------------------------------- 1 | package com.shuiyes.video.dialog; 2 | 3 | import android.content.Context; 4 | import android.graphics.Color; 5 | import android.os.Bundle; 6 | import android.util.Log; 7 | 8 | import com.shuiye.video.util.ResourceDef; 9 | import com.shuiyes.video.bean.ListVideo; 10 | import com.shuiyes.video.widget.NumberView; 11 | import com.zhy.view.flowlayout.FlowLayout; 12 | import com.zhy.view.flowlayout.TagAdapter; 13 | import com.zhy.view.flowlayout.TagView; 14 | 15 | import java.util.List; 16 | 17 | public class AlbumDialog extends FlowlayoutDialog { 18 | 19 | private final String TAG = this.getClass().getSimpleName(); 20 | 21 | private List mVideoList; 22 | 23 | public AlbumDialog(Context context, List videos) { 24 | super(context); 25 | mVideoList = videos; 26 | } 27 | 28 | @Override 29 | protected void onCreate(Bundle savedInstanceState) { 30 | super.onCreate(savedInstanceState); 31 | Log.e(TAG, "onCreate()"); 32 | 33 | mView.setAdapter(new TagAdapter(mVideoList) { 34 | @Override 35 | public TagView getView(FlowLayout parent, int position, ListVideo t) { 36 | NumberView view = new NumberView(getContext(), t); 37 | view.setTextColor(Color.WHITE); 38 | view.setOnClickListener(mListener); 39 | view.setSize(view.measureWidth(), NumberView.WH); 40 | return view; 41 | } 42 | }); 43 | } 44 | 45 | public void show(final int index) { 46 | super.show(); 47 | final NumberView view = (NumberView) this.findViewById(ResourceDef.ID_TAG_BTN + index); 48 | if (view != null) { 49 | view.setFocusableInTouchMode(true); 50 | view.requestFocus(); 51 | Log.e(TAG, "show(" + index + ") " + view + " focused:" + view.isFocused()); 52 | } 53 | } 54 | 55 | @Override 56 | public void show() { 57 | super.show(); 58 | } 59 | } 60 | -------------------------------------------------------------------------------- /app/src/main/java/com/shuiyes/video/dialog/FlowlayoutDialog.java: -------------------------------------------------------------------------------- 1 | package com.shuiyes.video.dialog; 2 | 3 | import android.app.Dialog; 4 | import android.content.Context; 5 | import android.os.Bundle; 6 | import android.view.Gravity; 7 | import android.view.View; 8 | import android.view.WindowManager.LayoutParams; 9 | 10 | import com.shuiyes.video.R; 11 | import com.zhy.view.flowlayout.TagFlowLayout; 12 | 13 | public class FlowlayoutDialog extends Dialog implements View.OnClickListener { 14 | 15 | protected Context mContext = null; 16 | protected TagFlowLayout mView; 17 | 18 | 19 | public FlowlayoutDialog(Context context) { 20 | super(context, R.style.FullScreenDialog); 21 | mContext = context; 22 | } 23 | 24 | @Override 25 | protected void onCreate(Bundle savedInstanceState) { 26 | super.onCreate(savedInstanceState); 27 | setContentView(R.layout.full_screen_dialog); 28 | mView = (TagFlowLayout) this.findViewById(R.id.root); 29 | } 30 | 31 | @Override 32 | public void show() { 33 | super.show(); 34 | 35 | final LayoutParams layoutParams = getWindow().getAttributes(); 36 | // align bottom 37 | layoutParams.gravity = Gravity.BOTTOM; 38 | // fullscreen 39 | layoutParams.width = LayoutParams.MATCH_PARENT; 40 | layoutParams.height = LayoutParams.WRAP_CONTENT; 41 | 42 | getWindow().getDecorView().setPadding(0, 0, 0, 0); 43 | getWindow().setAttributes(layoutParams); 44 | 45 | View firstChild = mView.getChildAt(0); 46 | if (firstChild != null) { 47 | firstChild.requestFocus(); 48 | } 49 | } 50 | 51 | @Override 52 | public void onClick(View v) { 53 | switch (v.getId()) { 54 | } 55 | dismiss(); 56 | } 57 | 58 | protected View.OnClickListener mListener; 59 | 60 | public void setOnClickListener(View.OnClickListener l) { 61 | mListener = l; 62 | } 63 | 64 | } 65 | -------------------------------------------------------------------------------- /app/src/main/java/com/shuiyes/video/dialog/MiscDialog.java: -------------------------------------------------------------------------------- 1 | package com.shuiyes.video.dialog; 2 | 3 | import android.content.Context; 4 | import android.graphics.Color; 5 | import android.os.Bundle; 6 | 7 | import com.shuiyes.video.bean.PlayVideo; 8 | import com.shuiyes.video.widget.MiscView; 9 | import com.zhy.view.flowlayout.FlowLayout; 10 | import com.zhy.view.flowlayout.TagAdapter; 11 | import com.zhy.view.flowlayout.TagView; 12 | 13 | import java.util.List; 14 | 15 | public class MiscDialog extends FlowlayoutDialog { 16 | 17 | private List mUrlList; 18 | 19 | public MiscDialog(Context context, List urls) { 20 | super(context); 21 | mUrlList = urls; 22 | } 23 | 24 | @Override 25 | protected void onCreate(Bundle savedInstanceState) { 26 | super.onCreate(savedInstanceState); 27 | 28 | mView.setAdapter(new TagAdapter(mUrlList) { 29 | @Override 30 | public TagView getView(FlowLayout parent, int position, T t) { 31 | MiscView view = new MiscView(getContext(), t); 32 | view.setTextColor(Color.WHITE); 33 | view.setOnClickListener(mListener); 34 | view.setSize(view.measureWidth(), MiscView.WH); 35 | return view; 36 | } 37 | }); 38 | } 39 | } -------------------------------------------------------------------------------- /app/src/main/java/com/shuiyes/video/ui/SVApplication.java: -------------------------------------------------------------------------------- 1 | package com.shuiyes.video.ui; 2 | 3 | import android.app.Application; 4 | import android.content.Context; 5 | 6 | import com.shuiyes.video.BuildConfig; 7 | 8 | public class SVApplication extends Application { 9 | 10 | private static Context sContext; 11 | 12 | @Override 13 | public void onCreate() { 14 | super.onCreate(); 15 | 16 | sContext = this.getApplicationContext(); 17 | 18 | android.util.Log.e("SY", "onCreate() " + BuildConfig.VERSION_CODE + "/" + BuildConfig.VERSION_NAME); 19 | 20 | // com.tencent.bugly.crashreport.CrashReport.initCrashReport(getApplicationContext(), "a96983310d", true); 21 | } 22 | 23 | public static Context getAppContext() { 24 | return sContext; 25 | } 26 | 27 | } -------------------------------------------------------------------------------- /app/src/main/java/com/shuiyes/video/ui/WelcomeActivity.java: -------------------------------------------------------------------------------- 1 | package com.shuiyes.video.ui; 2 | 3 | import android.app.Activity; 4 | import android.content.Context; 5 | import android.content.Intent; 6 | import android.os.Bundle; 7 | import android.os.Handler; 8 | import android.text.TextUtils; 9 | import android.view.View; 10 | 11 | import com.shuiyes.video.R; 12 | import com.shuiyes.video.util.PlayUtils; 13 | import com.shuiyes.video.util.PreferenceUtil; 14 | 15 | public class WelcomeActivity extends Activity { 16 | 17 | @Override 18 | protected void onCreate(Bundle savedInstanceState) { 19 | super.onCreate(savedInstanceState); 20 | setContentView(R.layout.activity_welcome); 21 | 22 | View decorView = getWindow().getDecorView(); 23 | decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE 24 | | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION 25 | | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN 26 | | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION 27 | // | View.SYSTEM_UI_FLAG_FULLSCREEN 28 | | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY); 29 | 30 | getWindow().addFlags(android.view.WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); 31 | getWindow().addFlags(android.view.WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION); 32 | 33 | final Context context = this; 34 | new Handler().postDelayed(new Runnable() { 35 | @Override 36 | public void run() { 37 | String urlHistory = PreferenceUtil.getPlayUrl(context); 38 | if (TextUtils.isEmpty(urlHistory)) { 39 | startActivity(new Intent(context, MainActivity.class)); 40 | } else { 41 | PlayUtils.play(context, urlHistory, "播放记录恢复中..."); 42 | } 43 | } 44 | }, 2345); 45 | } 46 | 47 | @Override 48 | public void onBackPressed() { 49 | } 50 | 51 | @Override 52 | protected void onStop() { 53 | super.onStop(); 54 | finish(); 55 | } 56 | } -------------------------------------------------------------------------------- /app/src/main/java/com/shuiyes/video/ui/letv/LetvStream.java: -------------------------------------------------------------------------------- 1 | package com.shuiyes.video.ui.letv; 2 | 3 | import com.shuiyes.video.bean.PlayVideo; 4 | 5 | public class LetvStream extends PlayVideo { 6 | 7 | private int stream; 8 | private String streamStr; 9 | 10 | public LetvStream(int stream, String url) { 11 | super(stream + "P", url); 12 | this.streamStr = stream + "P"; 13 | this.stream = stream; 14 | this.url = url; 15 | } 16 | 17 | public int getStream() { 18 | return stream; 19 | } 20 | 21 | public String getStreamStr() { 22 | return streamStr; 23 | } 24 | 25 | @Override 26 | public String toStr() { 27 | return "LetvStream{" + 28 | "stream=" + streamStr + 29 | // ", url='" + url + '\'' + 30 | '}'; 31 | } 32 | 33 | } 34 | -------------------------------------------------------------------------------- /app/src/main/java/com/shuiyes/video/ui/mdd/Sign.java: -------------------------------------------------------------------------------- 1 | package com.shuiyes.video.ui.mdd; 2 | 3 | import java.security.MessageDigest; 4 | 5 | public class Sign { 6 | private static String[] charArray = new String[]{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"}; 7 | 8 | public static String sign(byte[] byteArray) { 9 | StringBuilder stringBuilder = new StringBuilder(); 10 | for (byte b : byteArray) { 11 | stringBuilder.append(compute(b)); 12 | } 13 | return stringBuilder.toString(); 14 | } 15 | 16 | private static String compute(byte b) { 17 | int a = b; 18 | if (a < 0) { 19 | a += 256; 20 | } 21 | return charArray[a / 16] + charArray[a % 16]; 22 | } 23 | 24 | public static String md5(String str) { 25 | try { 26 | MessageDigest instance = MessageDigest.getInstance("MD5"); 27 | instance.update(str.getBytes("UTF-8")); 28 | return sign(instance.digest()); 29 | } catch (Exception e) { 30 | e.printStackTrace(); 31 | } 32 | return null; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /app/src/main/java/com/shuiyes/video/ui/mgtv/MgtvSoActivity.java: -------------------------------------------------------------------------------- 1 | package com.shuiyes.video.ui.mgtv; 2 | 3 | import android.app.Activity; 4 | 5 | public class MgtvSoActivity extends Activity { 6 | } 7 | -------------------------------------------------------------------------------- /app/src/main/java/com/shuiyes/video/ui/qq/QQSection.java: -------------------------------------------------------------------------------- 1 | package com.shuiyes.video.ui.qq; 2 | 3 | import com.shuiyes.video.bean.PlayVideo; 4 | 5 | public class QQSection extends PlayVideo { 6 | 7 | int index; 8 | private String formatid; 9 | private String vid; 10 | 11 | public QQSection(int index, String formatid, String vid, String fname) { 12 | super("章节" + index, fname); 13 | this.index = index; 14 | this.formatid = formatid; 15 | this.vid = vid; 16 | } 17 | 18 | public int getIndex() { 19 | return index - 1; 20 | } 21 | 22 | public String getFormatid() { 23 | return formatid; 24 | } 25 | 26 | public String getVid() { 27 | return vid; 28 | } 29 | 30 | @Override 31 | public String toStr() { 32 | return "QQSection" + index 33 | + "{" + formatid 34 | + ", vid=" + vid 35 | + ", url=" + url 36 | + '}'; 37 | } 38 | 39 | } 40 | -------------------------------------------------------------------------------- /app/src/main/java/com/shuiyes/video/ui/qtiptv/QTingUtil.java: -------------------------------------------------------------------------------- 1 | package com.shuiyes.video.ui.qtiptv; 2 | 3 | // view-source:http://www.92kk.com/dance/lists-hits-55-1.html 4 | // http://www.92kk.com/play/50569.html 5 | // http://s1176897.m.awhost.cn/djmv.php?t=/play/50569 6 | public class QTingUtil { 7 | 8 | } 9 | -------------------------------------------------------------------------------- /app/src/main/java/com/shuiyes/video/ui/yinyang/TVActivity.java: -------------------------------------------------------------------------------- 1 | package com.shuiyes.video.ui.yinyang; 2 | 3 | import android.text.TextUtils; 4 | 5 | import com.devlin_n.yinyangplayer.controller.StandardVideoController; 6 | import com.shuiyes.video.bean.PlayVideo; 7 | import com.shuiyes.video.ui.tvlive.YinyangTVPlayActivity; 8 | import com.shuiyes.video.util.PreferenceUtil; 9 | 10 | import java.util.ArrayList; 11 | 12 | public class TVActivity extends YinyangTVPlayActivity { 13 | 14 | // 暂先为父母播放CCTV3 综艺频道,后面改成网络API 15 | String[] cctv3Urls = { 16 | "上海百事通 1080p;http://112.25.48.68/live/program/live/cctv3hd/4000000/mnf.m3u8", 17 | "广西防城港 移动;http://39.135.38.165:6610/000000001000/1000000001000011218/1.m3u8?IASHttpSessionId=OTT16157620200202041417014267&fmt=ts2hls&u=45768392", 18 | "央视频;http://cctvalih5ca.v.myalicdn.com/live/cctv3_2/index.m3u8", 19 | "cctvtxyh5ca 480P;https://cctvtxyh5ca.liveplay.myqcloud.com/live/cctv3_2/index.m3u8", 20 | "北邮直播源;http://ivi.bupt.edu.cn/hls/cctv3hd.m3u8", 21 | }; 22 | 23 | @Override 24 | protected String[] getIntentStringExtras() { 25 | String urlHistory = PreferenceUtil.getTVUrl(this); 26 | if (TextUtils.isEmpty(urlHistory)) { 27 | urlHistory = cctv3Urls[0]; 28 | } 29 | String[] tmp = urlHistory.split(";"); 30 | return new String[]{tmp[1], tmp[0]}; 31 | } 32 | 33 | @Override 34 | protected StandardVideoController initVideoController() { 35 | ShuiyeVideoController controller = new ShuiyeVideoController(this); 36 | controller.setLive(true); 37 | 38 | ArrayList list = new ArrayList(); 39 | for (int i = 0; i < cctv3Urls.length; i++) { 40 | String[] tmp = cctv3Urls[i].split(";"); 41 | list.add(new PlayVideo(tmp[0], tmp[1])); 42 | } 43 | controller.setSourceList(list); 44 | 45 | return controller; 46 | } 47 | } -------------------------------------------------------------------------------- /app/src/main/java/com/shuiyes/video/util/Constants.java: -------------------------------------------------------------------------------- 1 | package com.shuiyes.video.util; 2 | 3 | public class Constants { 4 | 5 | public static final int MSG_LIST_ALBUM = 100; 6 | public static final int MSG_SET_IMAGE = 101; 7 | public static final int MSG_CHECK_PERMISSION = 102; 8 | public static final int MSG_SHOW_TIPS = 103; 9 | 10 | } 11 | -------------------------------------------------------------------------------- /app/src/main/java/com/shuiyes/video/util/MD5.java: -------------------------------------------------------------------------------- 1 | package com.shuiyes.video.util; 2 | 3 | import android.text.TextUtils; 4 | 5 | import java.security.MessageDigest; 6 | 7 | public class MD5 { 8 | 9 | public static String encode(String string) { 10 | if (TextUtils.isEmpty(string)) { 11 | return ""; 12 | } 13 | try { 14 | MessageDigest md5 = MessageDigest.getInstance("MD5"); 15 | byte[] bytes = md5.digest(string.getBytes("utf-8")); 16 | StringBuilder result = new StringBuilder(); 17 | for (byte b : bytes) { 18 | String temp = Integer.toHexString(b & 0xff); 19 | if (temp.length() == 1) { 20 | temp = "0" + temp; 21 | } 22 | result.append(temp); 23 | } 24 | return result.toString(); 25 | } catch (Exception e) { 26 | e.printStackTrace(); 27 | } 28 | return ""; 29 | } 30 | 31 | } 32 | -------------------------------------------------------------------------------- /app/src/main/java/com/shuiyes/video/util/SHA1.java: -------------------------------------------------------------------------------- 1 | package com.shuiyes.video.util; 2 | 3 | import java.security.MessageDigest; 4 | 5 | public class SHA1 { 6 | private static final char[] HEX = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'}; 7 | 8 | private static String getFormattedText(byte[] bytes) { 9 | int len = bytes.length; 10 | StringBuilder buf = new StringBuilder(len * 2); 11 | // 把密文转换成十六进制的字符串形式 12 | for (int j = 0; j < len; j++) { 13 | buf.append(HEX[(bytes[j] >> 4) & 0x0f]); 14 | buf.append(HEX[bytes[j] & 0x0f]); 15 | } 16 | return buf.toString(); 17 | } 18 | 19 | public static String encode(String str) { 20 | if (str == null) { 21 | return null; 22 | } 23 | try { 24 | MessageDigest messageDigest = MessageDigest.getInstance("SHA1"); 25 | messageDigest.update(str.getBytes()); 26 | return getFormattedText(messageDigest.digest()); 27 | } catch (Exception e) { 28 | throw new RuntimeException(e); 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /app/src/main/java/com/shuiyes/video/util/SLog.java: -------------------------------------------------------------------------------- 1 | package com.shuiyes.video.util; 2 | 3 | import android.util.Log; 4 | 5 | import java.io.File; 6 | 7 | /** 8 | * SHUIYES LOG 9 | */ 10 | public class SLog { 11 | 12 | private static final boolean DEBUGE = new File("/sdcard/.shuiyes/debug").exists(); 13 | private static final boolean DEBUGD = false; 14 | private static final String TAG = "SHUIYES"; 15 | 16 | public static void e(String tag, String text) { 17 | if (DEBUGE) { 18 | Log.e(tag, text); 19 | } 20 | } 21 | 22 | public static void e(Throwable e) { 23 | // Log.e(TAG, e.getLocalizedMessage()); 24 | // StackTraceElement[] stes = e.getStackTrace(); 25 | // for(StackTraceElement ste: stes){ 26 | // Log.e(TAG, ste.toString()); 27 | // } 28 | e(TAG, Log.getStackTraceString(e)); 29 | } 30 | 31 | public static void e(String text, Throwable e) { 32 | e(TAG, text + "\n" + Log.getStackTraceString(e)); 33 | } 34 | 35 | public static void d(String tag, String text) { 36 | if (DEBUGD) { 37 | Log.d(tag, text); 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /app/src/main/java/com/shuiyes/video/util/ThreadPoolUtil.java: -------------------------------------------------------------------------------- 1 | package com.shuiyes.video.util; 2 | 3 | import java.util.concurrent.ArrayBlockingQueue; 4 | import java.util.concurrent.BlockingQueue; 5 | import java.util.concurrent.RejectedExecutionHandler; 6 | import java.util.concurrent.ThreadFactory; 7 | import java.util.concurrent.ThreadPoolExecutor; 8 | import java.util.concurrent.TimeUnit; 9 | import java.util.concurrent.atomic.AtomicInteger; 10 | 11 | /** 12 | * 线程池辅助类,用来管理整个程序的下载线程 13 | */ 14 | public class ThreadPoolUtil { 15 | 16 | private ThreadPoolUtil() { 17 | } 18 | 19 | /** 20 | * 线程池核心线程数 21 | */ 22 | private static int CORE_POOL_SIZE = 5; 23 | /** 24 | * 线程池最大线程数 25 | */ 26 | private static int MAX_POOL_SIZE = 200; 27 | /** 28 | * 额外线程空状态生存时间 29 | */ 30 | private static int KEEP_ALIVE_TIME = 5000; 31 | // 阻塞队列。当核心线程都被占用,且阻塞队列已满的情况下,才会开启额外线程 32 | private static BlockingQueue workQueue = new ArrayBlockingQueue(10); 33 | 34 | // 线程工厂 35 | private static ThreadFactory threadFactory = new ThreadFactory() { 36 | 37 | private final AtomicInteger integer = new AtomicInteger(); 38 | 39 | @Override 40 | public Thread newThread(Runnable r) { 41 | return new Thread(r, "myThreadPool thread:" + integer.getAndIncrement()); 42 | } 43 | 44 | }; 45 | 46 | private static RejectedExecutionHandler handler = new RejectedExecutionHandler() { 47 | 48 | @Override 49 | public void rejectedExecution(Runnable arg0, ThreadPoolExecutor arg1) { 50 | 51 | } 52 | 53 | }; 54 | 55 | // 线程池 56 | private static ThreadPoolExecutor threadPool; 57 | 58 | static { 59 | threadPool = new ThreadPoolExecutor(CORE_POOL_SIZE, MAX_POOL_SIZE, KEEP_ALIVE_TIME, TimeUnit.SECONDS, workQueue, threadFactory, handler); 60 | } 61 | 62 | /** 63 | * 从线程池中抽取线程,执行指定的Runnable对象 64 | * 65 | * @param runnable 66 | */ 67 | public static void execute(Runnable runnable) { 68 | threadPool.execute(runnable); 69 | } 70 | 71 | } 72 | -------------------------------------------------------------------------------- /app/src/main/java/com/shuiyes/video/widget/DLVideoView.java: -------------------------------------------------------------------------------- 1 | package com.shuiyes.video.widget; 2 | 3 | import android.content.Context; 4 | import android.util.AttributeSet; 5 | import android.widget.VideoView; 6 | 7 | public class DLVideoView extends VideoView { 8 | 9 | public DLVideoView(Context context, AttributeSet attrs) { 10 | super(context, attrs); 11 | } 12 | 13 | @Override 14 | protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { 15 | 16 | int dlWidth = getDefaultSize(0, widthMeasureSpec); 17 | int dlHeight = getDefaultSize(0, heightMeasureSpec); 18 | setMeasuredDimension(dlWidth, dlHeight); 19 | 20 | // super.onMeasure(widthMeasureSpec, heightMeasureSpec); 21 | // 22 | // int width = getMeasuredWidth(); 23 | // int height = getMeasuredHeight(); 24 | 25 | // android.util.Log.e("SHUIYES", "DLVideoView " + width + "x" + height + " -> " + dlWidth + "x" + dlHeight); 26 | } 27 | } -------------------------------------------------------------------------------- /app/src/main/java/com/shuiyes/video/widget/MarqueeTextView.java: -------------------------------------------------------------------------------- 1 | package com.shuiyes.video.widget; 2 | 3 | import android.content.Context; 4 | import android.graphics.Rect; 5 | import android.util.AttributeSet; 6 | import android.widget.TextView; 7 | 8 | public class MarqueeTextView extends TextView { 9 | 10 | public MarqueeTextView(Context context) { 11 | super(context); 12 | } 13 | 14 | public MarqueeTextView(Context context, AttributeSet attrs) { 15 | super(context, attrs); 16 | } 17 | 18 | public MarqueeTextView(Context context, AttributeSet attrs, int defStyleAttr) { 19 | super(context, attrs, defStyleAttr); 20 | } 21 | 22 | @Override 23 | public boolean isFocused() { 24 | return true; 25 | } 26 | 27 | @Override 28 | protected void onFocusChanged(boolean focused, int direction, Rect previouslyFocusedRect) { 29 | if (focused) { 30 | super.onFocusChanged(focused, direction, previouslyFocusedRect); 31 | } 32 | } 33 | 34 | @Override 35 | public void onWindowFocusChanged(boolean hasWindowFocus) { 36 | 37 | } 38 | } -------------------------------------------------------------------------------- /app/src/main/java/com/shuiyes/video/widget/MiscView.java: -------------------------------------------------------------------------------- 1 | package com.shuiyes.video.widget; 2 | 3 | import android.content.Context; 4 | import android.view.Gravity; 5 | 6 | import com.shuiyes.video.R; 7 | import com.shuiyes.video.bean.PlayVideo; 8 | import com.zhy.view.flowlayout.TagView; 9 | 10 | public class MiscView extends TagView { 11 | 12 | public static final int WH = 100; 13 | 14 | public MiscView(Context context) { 15 | super(context); 16 | 17 | this.setBackgroundResource(R.drawable.btn_rect); 18 | this.setGravity(Gravity.CENTER); 19 | this.setPadding(0, 0, 0, 0); 20 | this.setTextSize(25); 21 | } 22 | 23 | private PlayVideo playVideo; 24 | 25 | public MiscView(Context context, PlayVideo video) { 26 | this(context); 27 | 28 | this.playVideo = video; 29 | this.setText(video.getText()); 30 | } 31 | 32 | public PlayVideo getPlayVideo() { 33 | return playVideo; 34 | } 35 | 36 | public int measureWidth() { 37 | int measureWidth = Math.round(getPaint().measureText(getText().toString())) + 40; 38 | return measureWidth > WH ? measureWidth : WH; 39 | } 40 | 41 | } 42 | -------------------------------------------------------------------------------- /app/src/main/java/com/shuiyes/video/widget/VideoController.java: -------------------------------------------------------------------------------- 1 | package com.shuiyes.video.widget; 2 | 3 | import android.content.Context; 4 | import android.os.Build; 5 | import android.util.AttributeSet; 6 | import android.util.Log; 7 | import android.view.LayoutInflater; 8 | import android.view.View; 9 | import android.view.ViewGroup; 10 | import android.widget.FrameLayout; 11 | import android.widget.MediaController; 12 | 13 | import com.shuiyes.video.R; 14 | 15 | import java.lang.reflect.Method; 16 | 17 | public class VideoController extends MediaController { 18 | 19 | private final String TAG = this.getClass().getSimpleName(); 20 | 21 | public VideoController(Context context, AttributeSet attrs) { 22 | super(context, attrs); 23 | } 24 | 25 | public VideoController(Context context, boolean useFastForward) { 26 | super(context, useFastForward); 27 | } 28 | 29 | public VideoController(Context context) { 30 | super(context); 31 | } 32 | 33 | @Override 34 | public void setAnchorView(View view) { 35 | super.setAnchorView(view); 36 | 37 | Log.e(TAG, " =========================== Build.VERSION.SDK_INT=" + Build.VERSION.SDK_INT); 38 | if (Build.VERSION.SDK_INT == 19) { 39 | FrameLayout.LayoutParams frameParams = new FrameLayout.LayoutParams( 40 | ViewGroup.LayoutParams.MATCH_PARENT, 41 | ViewGroup.LayoutParams.MATCH_PARENT 42 | ); 43 | 44 | removeAllViews(); 45 | LayoutInflater inflate = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE); 46 | View v = inflate.inflate(R.layout.media_controller, null); 47 | 48 | try { 49 | Method m_initControllerView = MediaController.class.getDeclaredMethod("initControllerView", View.class); 50 | m_initControllerView.setAccessible(true); 51 | m_initControllerView.invoke(this, v); 52 | } catch (Exception e) { 53 | e.printStackTrace(); 54 | } 55 | 56 | addView(v, frameParams); 57 | } else if (Build.VERSION.SDK_INT == 26) { 58 | 59 | } 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /app/src/main/res/anim/slide_in.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | -------------------------------------------------------------------------------- /app/src/main/res/anim/slide_out.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/bg_movie.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/movin2008/ShuiyeVideo/f7dc0ec72f5dfb7cd66e53594033fff65c68bf98/app/src/main/res/drawable-hdpi/bg_movie.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/movin2008/ShuiyeVideo/f7dc0ec72f5dfb7cd66e53594033fff65c68bf98/app/src/main/res/drawable-hdpi/logo.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/logo_src.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/movin2008/ShuiyeVideo/f7dc0ec72f5dfb7cd66e53594033fff65c68bf98/app/src/main/res/drawable-hdpi/logo_src.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/logo_tv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/movin2008/ShuiyeVideo/f7dc0ec72f5dfb7cd66e53594033fff65c68bf98/app/src/main/res/drawable-hdpi/logo_tv.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/logo_tv1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/movin2008/ShuiyeVideo/f7dc0ec72f5dfb7cd66e53594033fff65c68bf98/app/src/main/res/drawable-hdpi/logo_tv1.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/logo_tv2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/movin2008/ShuiyeVideo/f7dc0ec72f5dfb7cd66e53594033fff65c68bf98/app/src/main/res/drawable-hdpi/logo_tv2.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/logo_vd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/movin2008/ShuiyeVideo/f7dc0ec72f5dfb7cd66e53594033fff65c68bf98/app/src/main/res/drawable-hdpi/logo_vd.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/rect_green.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/rect_orange.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/rect_red.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-v21/ripple_bg.xml: -------------------------------------------------------------------------------- 1 | 2 | 16 | 17 | 19 | 20 | 21 | 23 | 25 | 27 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/youku.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/movin2008/ShuiyeVideo/f7dc0ec72f5dfb7cd66e53594033fff65c68bf98/app/src/main/res/drawable-xhdpi/youku.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/btn_oval.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/btn_rect.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/btn_rect_transparent.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/btn_select_album.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/circle.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/circle_red.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/oval_blue.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 11 | 12 | 15 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/oval_red.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 11 | 12 | 15 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/oval_white.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 11 | 12 | 15 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/rect_blue.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/rect_blue_dark.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/rect_grey.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/rect_transparent.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/rect_white.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 11 | 12 | 15 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ripple_bg.xml: -------------------------------------------------------------------------------- 1 | 2 | 16 | 17 | 19 | 20 | 21 | 23 | 25 | 27 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/seekbar_progress_drawable.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/thumb_red_shape_drawable.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 10 | 11 | 12 | 13 | 18 | 19 | 22 | 23 | -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_huyalist.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 13 | 14 | 19 | 20 | 25 | 26 | 30 | 31 | 32 | 33 | 37 | 38 | 45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_player_tvlive.xml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 10 | 11 | 22 | 23 | 31 | 32 | -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_search.xml: -------------------------------------------------------------------------------- 1 | 7 | 8 | 14 | 15 | 21 | 22 |