开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 5038|回复: 33
打印 上一主题 下一主题
收起左侧

[易源码分享] 全制式影音播放器

[复制链接]
结帖率:50% (1/2)
跳转到指定楼层
楼主
发表于 2021-11-30 23:38:20 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式   山东省临沂市
分享源码
界面截图:
是否带模块: 纯源码
备注说明: -
  
窗口程序集名保 留  保 留备 注
窗口程序集_启动窗口   
变量名类 型数组备 注
控制播放器控制  
全屏播放屏幕  
播放模式逻辑型  
自适应尺寸逻辑型  
点播播放状态逻辑型  
媒体播放器媒体  
日期文本型  
时间文本型  
设定播放器设定  
文本型  
文本型  
文本型  
文本型  
文本型  
文本型  
影音序号整数型  

子程序名返回值类型公开备 注
__启动窗口_创建完毕  
连续赋值 ( #绿色, 图片框1.背景颜色, 图片框2.背景颜色, 图片框3.背景颜色, 图片框4.背景颜色)
时钟4.时钟周期 = 300
控制 = 播放器1.取控制 ()
设定 = 播放器1.取设定 ()
子程序名返回值类型公开备 注
_歌曲目录_被单击  
变量名类 型静态数组备 注
路径文本型 
路径 = 浏览文件夹 (“请选择文件路径”, )
如果真 (路径 ≠ “”)
写配置项 (取运行目录 ()“\MusicServer.ini”, “System”, “NoClientPath”, 路径)
加入随机歌曲 ()
返回 ()
如果真 (点播列表.取标题 (1, 0)“”)
随机播放 ()
如果 (点播播放状态 = )
点播列表.现行选中项 = 0
播放器1.地址 = 点播列表.取标题 (点播列表.现行选中项, 2)
' 意思是播放器1.地址 =点播歌曲.所在路径,也就是歌曲所在的具体位置,0是点播列表.序号,1是歌曲目录,2是具体位置。
控制.播放 ()
状态条.置文本 (3, 点播列表.取标题 (0, 1))
' 意思就是状态条的设置项目第三项为点播列表的序号为第一项,列索引的第二项,也就是是歌曲名称。0是序号,1是歌曲名称。
随机播放 ()

子程序名返回值类型公开备 注
_播放按钮_被单击  
透明标签1.标题 = 播放器1.地址 + “.”“李京军”
如果 (播放按钮.标题 = “播放”)
控制.播放 ()
播放按钮.标题 = “暂停”
播放按钮.标题 = “播放”
控制.暂停 ()

子程序名返回值类型公开备 注
_停止按钮_被单击  
如果真 (停止按钮.标题 = “停止”)
控制.停止 ()
播放按钮.标题 = “播放”
单曲循环.标题 = “停止”
列表循环.标题 = “停止”

子程序名返回值类型公开备 注
_全屏播放_被单击  
如果 (全屏播放.标题 = “全屏播放”)
播放器1.全屏模式 = 真
自适应尺寸 = 假
全屏播放.标题 = “自适应尺寸”
全屏播放.标题 = “全屏播放”
播放器1.全屏模式 = 假
自适应尺寸 = 真

子程序名返回值类型公开备 注
_上一曲_被单击  
点播列表.现行选中项 = 点播列表.现行选中项 - 1
_播放按钮_被单击 ()
子程序名返回值类型公开备 注
_单曲循环_被单击  
变量名类 型静态数组备 注
d整数型 
已停止整数型 
如果 (单曲循环.标题 = “单曲循环”)
单曲循环.标题 = “停止”
控制.停止 ()
单曲循环.标题 = “停止”
单曲循环.标题 = “单曲循环”
d = 500
计次循环首 (d, )
控制.播放 ()
已停止 = 播放器1.播放状态
延迟 (3000)
如果真 (单曲循环.标题 = “停止”)
跳出循环 ()

计次循环尾 ()

子程序名返回值类型公开备 注
加入随机歌曲  
变量名类 型静态数组备 注
文件信息文本型 
目录信息文本型 
路径信息文本型 
读目录文本型 
表项索引整数型 
随机路径文本型 
歌曲名称文本型 
排列序号整数型 
随机路径 = 读配置项 (取运行目录 ()“\MusicServer.ini”, “System”, “NoClientPath”, )
' MusicServer是音乐服务器,System是进程文件,进程名的意思,NoClientPath是无需客户Duan路径
' 读配置项 (取运行目录 (), , , )
点播列表.全部删除 ()
如果真 (取文本右边 (随机路径, 1)“\”)
随机路径 = 随机路径 + “\”
调试输出 (随机路径 + “\”)
' *.mp3,*.rmvb,*.mkv,*.mp4,*.ami,*.wmv
文件信息 = 寻找文件 (随机路径 + “*.mid”, )
判断循环首 (文件信息 ≠ “”)
路径信息 = 路径信息 + 随机路径 + 文件信息 + #换行符
文件信息 = 寻找文件 (, )
判断循环尾 ()
文件信息 = 寻找文件 (随机路径 + “*.mp3”, )
判断循环首 (文件信息 ≠ “”)
路径信息 = 路径信息 + 随机路径 + 文件信息 + #换行符
文件信息 = 寻找文件 (, )
判断循环尾 ()
文件信息 = 寻找文件 (随机路径 + “*.rmvb”, )
判断循环首 (文件信息 ≠ “”)
路径信息 = 路径信息 + 随机路径 + 文件信息 + #换行符
文件信息 = 寻找文件 (, )
判断循环尾 ()
文件信息 = 寻找文件 (随机路径 + “*.mkv”, )
判断循环首 (文件信息 ≠ “”)
路径信息 = 路径信息 + 随机路径 + 文件信息 + #换行符
文件信息 = 寻找文件 (, )
判断循环尾 ()
文件信息 = 寻找文件 (随机路径 + “*.mp4”, )
判断循环首 (文件信息 ≠ “”)
路径信息 = 路径信息 + 随机路径 + 文件信息 + #换行符
文件信息 = 寻找文件 (, )
判断循环尾 ()
判断循环首 (文件信息 ≠ “”)
路径信息 = 路径信息 + 随机路径 + 文件信息 + #换行符
文件信息 = 寻找文件 (, )
判断循环尾 ()
文件信息 = 寻找文件 (随机路径 + “*.AVI                                                                                                                                                                                                                                                                                                                              ”, )
判断循环首 (文件信息 ≠ “”)
路径信息 = 路径信息 + 随机路径 + 文件信息 + #换行符
文件信息 = 寻找文件 (, )
判断循环尾 ()
文件信息 = 寻找文件 (随机路径 + “*.wmv”, )
判断循环首 (文件信息 ≠ “”)
路径信息 = 路径信息 + 随机路径 + 文件信息 + #换行符
文件信息 = 寻找文件 (, )
判断循环尾 ()
文件信息 = 寻找文件 (随机路径 + “*.ami”, )
判断循环首 (文件信息 ≠ “”)
路径信息 = 路径信息 + 随机路径 + 文件信息 + #换行符
文件信息 = 寻找文件 (, )
判断循环尾 ()
如果真 (路径信息 = “”)
返回 ()
判断循环首 (寻找文本 (路径信息, #换行符, , ) ≠ -1)
读目录 = 读一段 (路径信息, #换行符 )
路径信息 = 删一段 (路径信息, #换行符 )
表项索引 = 点播列表.插入表项 (, “随机播放”, , , , )
' 点播列表.置图片 (表项索引, 0, 2)
' 点播列表.置图片 (表项索引, 1, 1)
排列序号 = 排列序号 + 1
' 歌曲名称 = 到文本 (排列序号) + “、” + 取文本右边 (读目录, 取文本长度 (读目录) - 倒找文本 (读目录, “\”, , ))
歌曲名称 = 到文本 (排列序号)“、”取文本左边 (取文本右边 (读目录, 取文本长度 (读目录)倒找文本 (读目录, “\”, , )), 寻找文本 (取文本右边 (读目录, 取文本长度 (读目录)倒找文本 (读目录, “\”, , )), “.”, , ) - 1)
点播列表.置标题 (表项索引, 0, 到文本 (排列序号))
点播列表.置标题 (表项索引, 1, 歌曲名称)
点播列表.置标题 (表项索引, 2, 读目录)
判断循环尾 ()
点播列表.现行选中项 = 到整数 (标签3.标题)
数量标签.标题 = “共”到文本 (影音序号)“首”
数量标签.标题 = “共”到文本 (排列序号)“首”
数量标签.标题 = “共”到文本 (点播列表.取表项数 ()) + “首/第” + 标签3.标题 + “首”
' 随机播放 ()
子程序名返回值类型公开备 注
读一段文本型 歌曲点播
参数名类 型参考可空数组备 注
原内容文本型原内容
分割符文本型可以是#换行符,也可以是别的符号比如"/"","";"等
变量名类 型静态数组备 注
a整数型 
b文本型 
a = 寻找文本 (原内容, 分割符, , )
b = 取文本左边 (原内容, a - 1)
返回 (b)
子程序名返回值类型公开备 注
删一段文本型 歌曲点播
参数名类 型参考可空数组备 注
原内容文本型原内容
分割符文本型可以是#换行符,也可以是别的符号比如"/"","";"等
变量名类 型静态数组备 注
a整数型 
c文本型 
b文本型 
a = 寻找文本 (原内容, 分割符, , )
b = 取文本左边 (原内容, a - 1)
c = 取文本右边 (原内容, 取文本长度 (原内容)取文本长度 (b)取文本长度 (分割符))
返回 (c)
子程序名返回值类型公开备 注
_点播列表_当前表项被改变  
如果真 (点播播放状态 = )
播放器1.地址 = 点播列表.取标题 (点播列表.现行选中项, 2)
' 播放器.地址 = 系统设置.随机播放路径.内容 + “\” + 取文本右边 (点播列表.取标题 (点播列表.现行选中项, 1), 取文本长度 (点播列表.取标题 (点播列表.现行选中项, 1)) - 寻找文本 (点播列表.取标题 (点播列表.现行选中项, 1), “.”, , ))
编辑框1.内容 = 播放器1.地址  ' 取文本右边 (点播列表.取标题 (点播列表.现行选中项, 1), 取文本长度 (点播列表.取标题 (点播列表.现行选中项, 1)) - 寻找文本 (点播列表.取标题 (点播列表.现行选中项, 1), “.”, , ))
控制.播放 ()
标签3.标题 = 到文本 (点播列表.现行选中项 + 1)
数量标签.标题 = “共”到文本 (点播列表.取表项数 ()) + “首/第”到文本 (点播列表.现行选中项 + 1)“首”
状态条.置文本 (3, 点播列表.取标题 (点播列表.现行选中项, 1))
状态条.置文本 (5, 到文本 (取现行时间 ()))

子程序名返回值类型公开备 注
随机播放 歌曲点播
变量名类 型静态数组备 注
随机数字整数型 
如果 (点播列表.取标题 (0, 2)“”)
计次循环首 (取秒 (取现行时间 ()), )
' 随机数字 = 取随机数 (2, 点播列表.取表项数 ()) - 1
随机数字 = 点播列表.现行选中项 + 1
计次循环尾 ()
点播列表.现行选中项 = 随机数字
数量标签.标题 = “共”到文本 (点播列表.取表项数 ()) + “首/第”到文本 (随机数字 + 1)“首”
点播列表.保证显示 (随机数字)
播放器1.地址 = 点播列表.取标题 (随机数字, 2)
' 播放器.地址 = 系统设置.随机播放路径.内容 + “\” + 取文本右边 (点播列表.取标题 (随机数字, 1), 取文本长度 (点播列表.取标题 (随机数字, 1)) - 取文本长度 (取文本左边 (寻找文本 (点播列表.取标题 (随机数字, 1), “.”, , ), 1)))
编辑框1.内容 = 播放器1.地址
控制.播放 ()
状态条.置文本 (0, 到文本 (随机数字))  ' 序号
状态条.置文本 (1, 到文本 (点播列表.取表项数 ()))  ' 总影音
状态条.置文本 (2, “第”到文本 (随机数字 + 1)“首”)  ' 目前播放
状态条.置文本 (3, 点播列表.取标题 (随机数字, 1))  ' 影音名称
状态条.置文本 (4, 点播列表.取标题 (随机数字, 1))  ' 时长
状态条.置文本 (5, 点播列表.取标题 (随机数字, 1))  ' 速率
状态条.置文本 (6, 点播列表.取标题 (随机数字, 1))  ' 日期
加入随机歌曲 ()

子程序名返回值类型公开备 注
_播放器1_打开状态被改变  
参数名类 型参考可空数组备 注
新状态整数型
变量名类 型静态数组备 注
临时媒体播放器媒体 
如果 (新状态 = #打开状态 .媒体被打开)
临时媒体 = 播放器1.取当前媒体 ()
播放进度条.最大位置 = 四舍五入 (到整数 (临时媒体.取项目信息 (“Duration”)), )
播放按钮.标题 = “暂停”  ' 刚才这个忘了改
返回 ()

子程序名返回值类型公开备 注
_播放器1_播放状态被改变  
参数名类 型参考可空数组备 注
新的状态整数型
如果真 (新的状态 = #播放状态 .播放结束)
播放按钮.标题 = “播放”
时钟3.时钟周期 = 1000

子程序名返回值类型公开备 注
_播放器_错误发生  
如果真 (播放器1.播放状态 = 9)
播放按钮.标题 = “播放”
时钟3.时钟周期 = 1000

子程序名返回值类型公开备 注
取星期文本型 
变量名类 型静态数组备 注
星期整数型 
星期 = 取星期几 (取现行时间 ())
判断 (星期 = 1)
返回 (“星期日”)
返回 (“星期”数值到大写 (星期 - 1, ))

子程序名返回值类型公开备 注
_时钟1_周期事件  
' 取日期时间
年 = 到文本 (取时间部分 (取现行时间 (), #年份 ))
月 = 到文本 (取时间部分 (取现行时间 (), #月份 ))
日 = 到文本 (取时间部分 (取现行时间 (), #日 ))
时 = 到文本 (取时间部分 (取现行时间 (), #小时 ))
分 = 到文本 (取时间部分 (取现行时间 (), #分钟 ))
秒 = 到文本 (取时间部分 (取现行时间 (), #秒 ))
如果真 (取文本长度 () = 1)
月 = “0” + 月
如果真 (取文本长度 () = 1)
日 = “0” + 日
如果真 (取文本长度 () = 1)
时 = “0” + 时
如果真 (取文本长度 () = 1)
分 = “0” + 分
如果真 (取文本长度 () = 1)
秒 = “0” + 秒
日期 = 月 + “月” + 日 + “日”
时间 = 时 + “:” + 分 + “:” + 秒
如果真 (播放器1.播放状态 = 1 播放器1.播放状态 = 10)
状态条.置文本 (4, “00:00|00:00”)
播放进度条.位置 = 0
如果 (播放器1.播放状态 = 3)
播放进度条.位置 = 四舍五入 (到整数 (控制.当前位置), 0)
媒体 = 播放器1.取当前媒体 ()
如果 (控制.当前位置文本 ≠ “” 媒体.播放位置文本 ≠ “”)
状态条.置文本 (4, 控制.当前位置文本 + “|” + 媒体.播放位置文本)
状态条.置文本 (4, “00:00”“|”“00:00”)
状态条.置文本 (0, “序号 ”到文本 (点播列表.现行选中项 + 1))  ' 序号
状态条.置文本 (1, “总共 ”到文本 (点播列表.取表项数 ()) + “首”)  ' 总影音
状态条.置文本 (2, “第”到文本 (点播列表.现行选中项 + 1)“首”)  ' 目前播放
状态条.置文本 (3, 点播列表.取标题 (点播列表.现行选中项, 1))  ' 影音名称
状态条.置文本 (5, 到文本 (四舍五入 (到整数 (媒体.取项目信息 (“Bitrate”)) ÷ 1000, 0)) + “Kbps”)
状态条.置文本 (5, 播放器1.状态)
状态条.置文本 (6, “ ”到文本 (取日期 (取现行时间 ()))“  ” + 时间 + “ ”取星期 ())
子程序名返回值类型公开备 注
_下一曲_被单击  
点播列表.现行选中项 = 点播列表.现行选中项 + 1
_播放按钮_被单击 ()
子程序名返回值类型公开备 注
_关闭_被单击  
结束 ()
子程序名返回值类型公开备 注
_透明标签1_鼠标左键被按下逻辑型 
参数名类 型参考可空数组备 注
横向位置整数型
纵向位置整数型
功能键状态整数型
_启动窗口.发送信息 (161, 2, 0)


i支持库列表   支持库注释   
wmp9Windows媒体播放器
EdirectXDirectX支持库
shell操作系统界面功能支持库
iext扩展界面支持库一
iext2扩展界面支持库二
spec特殊功能支持库
iext6扩展界面支持库六


“如果不能播放视频的话,自行下载完美解码并把播放器复制到易语言安装根目录里,我的是自带的xp播放器损坏了才不得不用完美解码 ”

签到天数: 4 天

34
发表于 2025-4-30 15:30:17 | 只看该作者   河北省保定市
buco  gjxxffxiang
回复 支持 反对

使用道具 举报

签到天数: 3 天

33
发表于 2022-3-2 21:41:38 | 只看该作者   辽宁省铁岭市
66666666666666666666666
回复 支持 反对

使用道具 举报

结帖率:50% (1/2)
32
 楼主| 发表于 2022-1-31 06:21:56 | 只看该作者   山东省临沂市
ghost12 发表于 2022-1-25 20:00
我读书少,不要骗我

回复 支持 反对

使用道具 举报

31
发表于 2022-1-29 09:29:33 | 只看该作者   广东省东莞市
先看看·············
回复 支持 反对

使用道具 举报

结帖率:79% (27/34)

签到天数: 16 天

30
发表于 2022-1-25 20:00:56 | 只看该作者   上海市上海市
我读书少,不要骗我
回复 支持 反对

使用道具 举报

29
发表于 2022-1-12 10:05:42 | 只看该作者   江苏省苏州市
谢谢!!!!!!!!!
回复 支持 反对

使用道具 举报

结帖率:81% (13/16)
28
发表于 2022-1-4 21:18:53 | 只看该作者   浙江省嘉兴市
感谢楼主分享,支持一下~~!!!
回复 支持 反对

使用道具 举报

结帖率:50% (1/2)
27
 楼主| 发表于 2021-12-22 06:48:29 | 只看该作者   山东省临沂市
回复 支持 反对

使用道具 举报

26
发表于 2021-12-21 12:21:37 | 只看该作者   浙江省绍兴市


谢谢分享!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:[email protected]
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表