返回列表 发新帖我要提问本帖赏金: 50.00元(功能说明)

E4A开发流媒体播放器-电视直播软件

[复制链接]
 楼主| gaoyang9992006 发表于 2022-6-30 10:16 | 显示全部楼层 |阅读模式
<
本帖最后由 gaoyang9992006 于 2022-6-30 11:54 编辑

#申请原创# @21小跑堂
有时候想看看电视直播节目,发现很多软件都有广告,实在难受啊,怎么办呢,不如自己写一个。
视频源:可以去网上爬一套,通常视频直播源的流媒体地址都是m3u8结尾的,可以想法去网上找了。至于怎么找,不是本帖讨论内容。
开发软件:本人用的安卓手机,可以使用最简单的安卓开发工具E4A实施中文编程。
开发思路:最上面小窗口播放,支持全屏;下面有控制按钮,可以控制窗口显示模式,全屏模式;然后并排设置下拉列表,一列CCTV央视,另外一列地方卫视与精品节目频道
-------------------------------------------------------------------------------------------------------------------------------------------------------
频道地址存储
CCTV名字毕竟规则,可以使用一维数组存储,由于数组序号是从0开始的,我们可以
定义一个数组CCTVC(17) 存储CCTV1到CCTV17的频道地址,最后一个C表示通道、频道
那么CCTVC(0)对应的就是CCTV1
卫视与其他精品节目频道可使用二维数组存储,定义二维数组WSTVC(2)(100),最大可以存储100个频道名称和地址
思路有了,开始创建数组,注意E4A创建数组方式如下
  1. 变量 CCTVC 为 文本型(17)
  2.     变量 WSTVC 为 文本型(2,100)
我们将初始化频道地址与下拉列表填充放到同一个函数内实现,方便调用。
  1. 过程 频道源()
  2.         
  3.     CCTVC(0)="http://125.210.152.19:9090/live/hzgq-cctv1gq-h264.m3u8"
  4.     CCTVC(1)="http://125.210.152.19:9090/live/hzgq-cctv2gq-h264.m3u8"        
  5.     CCTVC(2)="http://125.210.152.19:9090/live/hzgq-cctv3gq-h264.m3u8"
  6.     CCTVC(3)="http://125.210.152.19:9090/live/hzgq-cctv4gq-h264.m3u8"        
  7.     CCTVC(4)="http://125.210.152.19:9090/live/hzgq-cctv5gq-h264.m3u8"
  8.     CCTVC(5)="http://125.210.152.19:9090/live/hzgq-cctv6gq-h264.m3u8"        
  9.     CCTVC(6)="http://125.210.152.19:9090/live/hzgq-cctv7gq-h264.m3u8"
  10.     CCTVC(7)="http://125.210.152.19:9090/live/hzgq-cctv8gq-h264.m3u8"
  11.     CCTVC(8)="http://117.148.179.162/TVOD/88888888/224/3221231697/index.m3u8"
  12.     CCTVC(9)="http://125.210.152.19:9090/live/hzgq-cctv10gq-h264.m3u8"        
  13.     CCTVC(10)="http://125.210.152.19:9090/live/hzgq-cctv11gq-h264.m3u8"
  14.     CCTVC(11)="http://125.210.152.19:9090/live/hzgq-cctv12gq-h264.m3u8"        
  15.     CCTVC(12)="http://39.135.138.60:18890/PLTV/88888910/224/3221225638/index.m3u8"
  16.     CCTVC(13)="http://39.135.138.59:18890/PLTV/88888910/224/3221225639/index.m3u8"        
  17.     CCTVC(14)="http://39.135.138.59:18890/TVOD/88888910/224/3221225641/index.m3u8"
  18.     CCTVC(15)="http://125.210.152.19:9090/live/hzgq-cctv16gq-h264.m3u8"
  19.     CCTVC(16)="http://125.210.152.19:9090/live/hzgq-cctv17gq-h264.m3u8"        
  20.         
  21.         WSTVC(0,0)="精品纪录"
  22.         WSTVC(1,0)="http://39.134.65.166/PLTV/88888888/224/3221225545/1.m3u8"        
  23.         
  24.         WSTVC(0,1)="天津卫视"
  25.         WSTVC(1,1)="http://117.169.120.140:8080/live/hdtianjinstv/.m3u8"
  26.         
  27.         WSTVC(0,2)="宁夏卫视"
  28.         WSTVC(1,2)="http://117.169.120.140:8080/live/ningxiastv/.m3u8"
  29.         
  30.         WSTVC(0,3)="江西卫视"
  31.         WSTVC(1,3)="http://117.169.120.140:8080/live/jiangxistv/.m3u8"        
  32.         
  33.         WSTVC(0,4)="甘肃卫视"
  34.         WSTVC(1,4)="http://117.169.120.140:8080/live/gansustv/.m3u8"
  35.         
  36.         WSTVC(0,5)="湖北卫视"
  37.         WSTVC(1,5)="http://117.169.120.140:8080/live/hdhubeistv/.m3u8"
  38.         
  39.         WSTVC(0,6)="吉林卫视"
  40.         WSTVC(1,6)="http://117.169.120.140:8080/live/jilinstv/.m3u8"        
  41.         
  42.         WSTVC(0,7)="安徽卫视"
  43.         WSTVC(1,7)="http://117.148.179.177/PLTV/88888888/224/3221230215/index.m3u8"
  44.         
  45.         WSTVC(0,8)="黑龙江卫视"
  46.         WSTVC(1,8)="http://117.148.179.162/PLTV/88888888/224/3221231520/index.m3u8"
  47.         
  48.         WSTVC(0,9)="湖南卫视"
  49.         WSTVC(1,9)="http://117.148.179.135/PLTV/88888888/224/3221230206/index.m3u8"        
  50.         
  51.         WSTVC(0,10)="广东卫视"
  52.         WSTVC(1,10)="http://111.20.33.93/TVOD/88888893/224/3221226216/index.m3u8"
  53.         
  54.         WSTVC(0,11)="四川卫视"
  55.         WSTVC(1,11)="http://117.148.179.142/PLTV/88888888/224/3221231885/index.m3u8"
  56.         
  57.         WSTVC(0,12)="江苏卫视"
  58.         WSTVC(1,12)="http://117.148.179.175/PLTV/88888888/224/3221231447/index.m3u8"               
  59.         
  60.         WSTVC(0,13)="东方卫视"
  61.         WSTVC(1,13)="http://117.148.179.167/PLTV/88888888/224/3221231450/index.m3u8"
  62.         
  63.         WSTVC(0,14)="山东卫视"
  64.         WSTVC(1,14)="http://117.148.179.137/PLTV/88888888/224/3221227909/index.m3u8"
  65.         
  66.         WSTVC(0,15)="贵州卫视"
  67.         WSTVC(1,15)="http://39.134.65.179/PLTV/88888888/224/3221225888/1.m3u8"        
  68.         
  69.         WSTVC(0,16)="河北卫视"
  70.         WSTVC(1,16)="http://125.210.152.19:9090/live/hzgq-hbwsgq1-h264.m3u8"
  71.         
  72.         WSTVC(0,17)="青海卫视"
  73.         WSTVC(1,17)="http://125.210.152.19:9090/live/hszx-qhtv-h264.m3u8"
  74.         
  75.         WSTVC(0,18)="广西卫视"
  76.         WSTVC(1,18)="http://39.134.115.163:8080/PLTV/88888910/224/3221225731/index.m3u8"        
  77.         
  78.         WSTVC(0,19)="北京卫视"
  79.         WSTVC(1,19)="http://183.207.249.7/PLTV/3/224/3221225574/index.m3u8"
  80.         
  81.         WSTVC(0,20)="东南卫视"
  82.         WSTVC(1,20)="http://39.135.138.59:18890/TVOD/88888910/224/3221225657/index.m3u8"
  83.         
  84.         WSTVC(0,21)="西藏卫视"
  85.         WSTVC(1,21)="http://125.210.152.19:9090/live/hszx-xztv-h264.m3u8"        
  86.         
  87.         WSTVC(0,22)="陕西卫视"
  88.         WSTVC(1,22)="http://117.148.179.156/PLTV/88888888/224/3221231408/index.m3u8"
  89.         
  90.         WSTVC(0,23)="新疆卫视"
  91.         WSTVC(1,23)="http://125.210.152.19:9090/live/hszx-xjtv-h264.m3u8"
  92.         
  93.         WSTVC(0,24)="深圳卫视"
  94.         WSTVC(1,24)="http://39.135.138.59:18890/PLTV/88888910/224/3221225741/index.m3u8"               
  95.         
  96.         WSTVC(0,25)="浙江卫视"
  97.         WSTVC(1,25)="http://117.148.179.136/TVOD/88888888/224/3221231567/index.m3u8"
  98.         
  99.         WSTVC(0,26)="重庆卫视"
  100.         WSTVC(1,26)="http://125.210.152.19:9090/live/hzgq-cqwsgq-h264.m3u8"
  101.         
  102.         WSTVC(0,27)="山西卫视"
  103.         WSTVC(1,27)="http://liveflash.sxrtv.com/live/sxwshd.m3u8"        
  104.         
  105.         WSTVC(0,28)="三沙卫视"
  106.         WSTVC(1,28)="http://125.210.152.19:9090/live/hzgq-ssws-h264.m3u8"
  107.         
  108.         WSTVC(0,29)="旅游卫视"
  109.         WSTVC(1,29)="http://125.210.152.19:9090/live/hszx-lytv-h264.m3u8"
  110.         
  111.         WSTVC(0,30)="兵团卫视"
  112.         WSTVC(1,30)="http://125.210.152.19:9090/live/hszx-bttv-h264.m3u8"        
  113.         
  114.         WSTVC(0,31)="内蒙卫视"
  115.         WSTVC(1,31)="http://125.210.152.19:9090/live/hszx-nmgtv-h264.m3u8"
  116.         
  117.         WSTVC(0,32)="云南卫视"
  118.         WSTVC(1,32)="http://125.210.152.19:9090/live/hzgq-ynwsgq-h264.m3u8"
  119.         
  120.         WSTVC(0,33)="河南卫视"
  121.         WSTVC(1,33)="http://117.148.179.144/PLTV/88888888/224/3221231514/index.m3u8"        
  122.         
  123.         WSTVC(0,34)="旅游卫视"
  124.         WSTVC(1,34)="http://111.63.117.13:6060/030000001000/LYWS/LYWS.m3u8"

  125.         WSTVC(0,35)="东方卫视"
  126.         WSTVC(1,35)="http://39.135.138.59:18890/PLTV/88888910/224/3221225659/index.m3u8"
  127.         
  128.         WSTVC(0,36)="香港文旅"
  129.         WSTVC(1,36)="https://myun-hw-s3.myun.tv/melj80jz/lxx27bol/1551285536499984128.m3u8"               
  130.         
  131.         WSTVC(0,37)="四海钓鱼"
  132.         WSTVC(1,37)="http://117.148.179.159/PLTV/88888888/224/3221231718/index.m3u8"
  133.         
  134.         WSTVC(0,38)="凤凰咨询"
  135.         WSTVC(1,38)="http://playtv-live.ifeng.com/live/06OLEEWQKN4.m3u8"
  136.         
  137.         WSTVC(0,39)="上海纪实"
  138.         WSTVC(1,39)="http://39.134.115.163:8080/PLTV/88888910/224/3221225654/index.m3u8"        
  139.         
  140.         WSTVC(0,40)="金鹰纪实"
  141.         WSTVC(1,40)="http://111.20.33.93/TVOD/88888893/224/3221226351/index.m3u8"
  142.         
  143.         WSTVC(0,41)="北京纪实"
  144.         WSTVC(1,41)="http://39.134.115.163:8080/PLTV/88888910/224/3221225676/index.m3u8"
  145.         
  146.         WSTVC(0,42)="陕西农林"
  147.         WSTVC(1,42)="http://111.20.33.93/PLTV/88888893/224/3221226229/index.m3u8"        
  148.         
  149.         WSTVC(0,43)="黑莓动画"
  150.         WSTVC(1,43)="http://183.207.249.7/PLTV/3/224/3221225555/index.m3u8"
  151.         
  152.         WSTVC(0,44)="NewTV超级电影"
  153.         WSTVC(1,44)="http://39.134.115.163:8080/PLTV/88888910/224/3221225623/index.m3u8"
  154.         
  155.         WSTVC(0,45)="华数高清"
  156.         WSTVC(1,45)="http://125.210.152.19:9090/live/hzgq-hsfwgq-h264.m3u8"        
  157.         
  158.         WSTVC(0,46)="教育1台"
  159.         WSTVC(1,46)="http://117.148.179.156/TVOD/88888888/224/3221231714/index.m3u8"
  160.         
  161.         WSTVC(0,47)="动作电影"
  162.         WSTVC(1,47)="http://39.134.65.164/PLTV/88888888/224/3221225555/1.m3u8"
  163.         
  164.         WSTVC(0,48)="黑莓电影"
  165.         WSTVC(1,48)="http://183.207.249.14/PLTV/3/224/3221225567/index.m3u8"        
  166.         
  167.         WSTVC(0,49)="超级电影"
  168.         WSTVC(1,49)="http://39.134.65.164/PLTV/88888888/224/3221225644/1.m3u8"
  169.         
  170.         WSTVC(0,50)="西部电影频道"
  171.         WSTVC(1,50)="http://111.20.33.93/PLTV/88888893/224/3221226364/index.m3u8"
  172.         
  173.         WSTVC(0,51)="动画电影"
  174.         WSTVC(1,51)="http://118.26.120.36:55336/tslive/c51_lb_118_600_t10/c51_lb_118_600_t10.m3u8?key=0b292c335e5837e94f25985f7c35b1efe"               
  175.         
  176.         WSTVC(0,52)="李连杰系列"
  177.         WSTVC(1,52)="http://121.51.249.48/tx.hls.huya.com/src/1394565196-1394565196-5989611908959830016-2789253848-10057-A-0-1-imgplus.m3u8"
  178.         
  179.         WSTVC(0,53)="林正英系列"
  180.         WSTVC(1,53)="http://121.51.249.48/tx.hls.huya.com/src/1394575543-1394575543-5989656348986441728-2789274542-10057-A-0-1.m3u8"
  181.         
  182.         WSTVC(0,54)="周星驰系列"
  183.         WSTVC(1,54)="http://121.51.249.48/tx.hls.huya.com/src/1394575534-1394575534-5989656310331736064-2789274524-10057-A-0-1-imgplus.m3u8"
  184.         
  185.         WSTVC(0,55)="中国功夫"
  186.         WSTVC(1,55)="http://39.134.65.164/PLTV/88888888/224/3221225604/1.m3u8"
  187.         
  188.         WSTVC(0,56)="成龙系列"
  189.         WSTVC(1,56)="http://117.148.179.134/PLTV/88888888/224/3221231687/index.m3u8"
  190.         
  191.         
  192.         变量 i 为 整数型
  193.         变量循环首 i=0 至 16
  194.                 CCTV下拉列表框.添加项目("CCTV"&整数到文本(i+1))
  195.         变量循环尾        
  196.         
  197.         变量循环首 i=0 至 56
  198.                 卫视下拉列表框.添加项目(WSTVC(0,i))
  199.         变量循环尾
  200.         
  201. 结束 过程
好了,后面我们只需要调用这些数组内的地址填充到播放函数即可
接下来我们实现布局的均匀化,因为E4A没提供布局功能,但是我们可以使用代码设置这些控件的布局
界面.png
我们给控件都起个很好认的名字

  1. 过程 布局()
  2.         变量 x 为 整数型
  3.         变量 y 为 整数型
  4. '第1行按钮布局方式--------------------------------
  5.         x=取屏幕宽度()*75/320
  6.         y=取屏幕宽度()*4/320
  7.         播放按钮.宽度=x
  8.         暂停按钮.宽度=x
  9.         继续按钮.宽度=x
  10.         退出按钮.宽度=x
  11.         
  12.         播放按钮.左边=(0*x)+(1*y)
  13.         暂停按钮.左边=(1*x)+(2*y)
  14.         继续按钮.左边=(2*x)+(3*y)
  15.         退出按钮.左边=(3*x)+(4*y)
  16. '第2行按钮布局方式--------------------------------        
  17.         x=取屏幕宽度()*80/320
  18.         y=取屏幕宽度()*20/320
  19.         
  20.         全屏1按钮.宽度=x
  21.         全屏2按钮.宽度=x        
  22.         全屏3按钮.宽度=x
  23.         
  24.         全屏1按钮.左边=(0*x)+(1*y)
  25.         全屏2按钮.左边=(1*x)+(2*y)
  26.         全屏3按钮.左边=(2*x)+(3*y)
  27. '第3行按钮布局方式--------------------------------        
  28.         x=取屏幕宽度()*75/320
  29.         y=取屏幕宽度()*4/320
  30.         画面1按钮.宽度=x
  31.         画面2按钮.宽度=x
  32.         画面3按钮.宽度=x
  33.         画面4按钮.宽度=x
  34.         
  35.         画面1按钮.左边=(0*x)+(1*y)
  36.         画面2按钮.左边=(1*x)+(2*y)
  37.         画面3按钮.左边=(2*x)+(3*y)
  38.         画面4按钮.左边=(3*x)+(4*y)
  39.         
  40.         '第4行标签布局方式--------------------------------        
  41.         CCTV标签.宽度=(取屏幕宽度()*3/8)
  42.         WSTV标签.宽度=(取屏幕宽度()*3/8)        
  43.     CCTV标签.左边=(取屏幕宽度()*1/4)-(CCTV标签.宽度)/2
  44.     WSTV标签.左边=(取屏幕宽度()*3/4)-(WSTV标签.宽度)/2
  45.         
  46.         '第5行下拉列表布局方式--------------------------------        
  47.         CCTV下拉列表框.宽度=(取屏幕宽度()*3/8)
  48.         卫视下拉列表框.宽度=(取屏幕宽度()*3/8)        
  49.        CCTV下拉列表框.左边=(取屏幕宽度()*1/4)-(CCTV下拉列表框.宽度)/2
  50.        卫视下拉列表框.左边=(取屏幕宽度()*3/4)-(卫视下拉列表框.宽度)/2        
  51.         

  52.         按钮1.宽度=(取屏幕宽度()*1/16)
  53.         按钮2.宽度=(取屏幕宽度()*1/16)        
  54.         按钮1.左边=CCTV下拉列表框.左边+CCTV下拉列表框.宽度
  55.         按钮2.左边=卫视下拉列表框.左边+卫视下拉列表框.宽度
  56.         
  57. 结束 过程
通过计算让按钮大小和相对位置固定下来。
当按下对应列表右侧的播放按钮后,将播放列表框当前显示的项对应的电视直播
  1. 事件 按钮1.被单击()
  2.         小窗口播放()
  3.         隐藏选集和清晰度()
  4.         player2022.重构()
  5.         player2022.播放视频(CCTV下拉列表框.取项目内容(CCTV下拉列表框.现行选中项),CCTVC(CCTV下拉列表框.现行选中项),"")
  6. 结束 事件

  7. 事件 按钮2.被单击()
  8.         小窗口播放()
  9.         隐藏选集和清晰度()
  10.         player2022.重构()
  11.         player2022.播放视频(卫视下拉列表框.取项目内容(卫视下拉列表框.现行选中项),WSTVC(1,卫视下拉列表框.现行选中项),"")
  12. 结束 事件
这里提供一下工程源文件,感兴趣的一起开发这个软件,还可以改成在安卓电视上使用的电视软件 MyTV - 2.zip (5.59 MB, 下载次数: 24)
TV.jpg

打赏榜单

21小跑堂 打赏了 50.00 元 2022-07-04
理由:恭喜通过原创文章审核!请多多加油哦!

评论

最新的播放地址访问 https://bbs.21ic.com/icview-3016290-1-1.html 本帖中地址已经过期,如果感兴趣自行替换重新编译成app  发表于 2022-9-7 15:42
APP下载在楼下板凳上  发表于 2022-7-4 12:40
使用E4A中文安卓开发工具,实现流媒体播放软件的开发。  发表于 2022-7-4 10:07
膜拜大佬,赞一个  发表于 2022-6-30 11:15
lansebuluo 发表于 2022-7-2 09:15 | 显示全部楼层
厉害
 楼主| gaoyang9992006 发表于 2022-7-4 10:48 | 显示全部楼层
一周后有空再给升级一下,实现电视投屏功能,并增加各省的地方台。
 楼主| gaoyang9992006 发表于 2022-7-4 12:39 | 显示全部楼层
APP下载地址 MyCCTV (2).zip (4.77 MB, 下载次数: 50)

zqykkkk 发表于 2022-7-5 16:41 | 显示全部楼层
gaoyang9992006 发表于 2022-7-4 10:48
一周后有空再给升级一下,实现电视投屏功能,并增加各省的地方台。

播放的地地址怎么解析出来
 楼主| gaoyang9992006 发表于 2022-7-5 16:58 | 显示全部楼层
zqykkkk 发表于 2022-7-5 16:41
播放的地地址怎么解析出来

这个是核心科技,要保密的,不然容易侵权。方法差不多就是你在看视频的时候,可以直接从你局域网的数据包读取到你的流媒体地址。
比如你局域网有网络电视在看直播视频,我在同一个局域网就能探测到这个直播码流的地址。
zqykkkk 发表于 2022-7-7 15:28 | 显示全部楼层
gaoyang9992006 发表于 2022-7-5 16:58
这个是核心科技,要保密的,不然容易侵权。方法差不多就是你在看视频的时候,可以直接从你局域网的数据包 ...

可是有些是结尾mp4的,不是m3u8.怎么办。
 楼主| gaoyang9992006 发表于 2022-7-8 09:21 | 显示全部楼层
zqykkkk 发表于 2022-7-7 15:28
可是有些是结尾mp4的,不是m3u8.怎么办。

你把链接替换成你的mp4的一样,只要是流媒体都支持。
zqykkkk 发表于 2022-7-28 10:20 | 显示全部楼层
gaoyang9992006 发表于 2022-7-8 09:21
你把链接替换成你的mp4的一样,只要是流媒体都支持。

可是有的不行,就http://125.210.152.19:9090 数字的就可以,http://1972762450.cloudvdn.com/带英文就不支持
 楼主| gaoyang9992006 发表于 2022-7-29 22:56 | 显示全部楼层
zqykkkk 发表于 2022-7-28 10:20
可是有的不行,就http://125.210.152.19:9090 数字的就可以,http://1972762450.cloudvdn.com/带英文就不 ...

不行的那些是人家封了,或者修改了链接,重新找新的流媒体地址就行了。
a550215216 发表于 2025-5-30 10:55 | 显示全部楼层
你的代码库是你自己编写的吗,官方库里怎么没有?
 楼主| gaoyang9992006 发表于 2025-5-30 11:56 | 显示全部楼层
a550215216 发表于 2025-5-30 10:55
你的代码库是你自己编写的吗,官方库里怎么没有?

哪个库,官方应该也有吧。我用的就是官方的播放库。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:如果你觉得我的分享或者答复还可以,请给我点赞,谢谢。

2045

主题

16350

帖子

222

粉丝
快速回复 在线客服 返回列表 返回顶部