设为首页收藏本站新闻投稿

MOD中国同盟社

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 473|回复: 4

[教程] music and sound Or videos 播放器,E-直接开源,加源码 支 网络URL地址 [复制链接]

Rank: 7Rank: 7Rank: 7

帖子
567
精华
0
声望
2374 点
金币
344 Mold
被赞许
15 次
注册时间
2011-4-7

可爱小猫 懒人勋章

发表于 2012-5-15 21:39:34 |显示全部楼层
本帖最后由 玲心韩雪 于 2012-5-15 21:41 编辑

源码
下载地址:
http://115.com/file/anqutr93#
播放器-V1.0-由-VS2010-编译.z
-----------------------------------------------------------------------------------------------------------------------------------------------------------
.版本 2
.支持库 wmp9
.支持库 CoolLib
.支持库 iext
.支持库 eMMedia
.支持库 PBShell
.程序集 窗口程序集
.程序集变量 slow
.子程序 __启动窗口_创建完毕
加载皮肤 (1)
注册windowsmediapaly媒体控件组 ()
打开 (取运行目录 () + “\config.EDB”, #数据库1, 假, 1, , , )
读数据 (真)
位置 = 3
.如果真 (模块_程序是否已运行 (“音量”) = 真)
    结束 ()
.如果真结束
播放器.自适应尺寸 = 假
.子程序 注册windowsmediapaly媒体控件组
音量滚动条.最小位置 = 1
音量滚动条.最大位置 = 100
控制 = 播放器.取控制 ()
设定 = 播放器.取设定 ()
网络 = 播放器.取网络 ()
光驱集 = 播放器.取光驱集 ()
音量滚动条.位置 = 设定.音量
音量滚动条.位置 = 50
设定.自动播放 = 假
.子程序 读数据
.参数 是否启用, 逻辑型
.局部变量 索引
.局部变量 变量, 整数型
.局部变量 次数, 整数型
.局部变量 slow
.局部变量 temp, 文本型
.局部变量 循环变量
.局部变量 音乐标题缓存, 文本型
.局部变量 参数1, 文本型
.局部变量 参数2, 文本型
.局部变量 参数3, 文本型
.局部变量 参数4, 整数型
.局部变量 参数5, 文本型
.如果真 (是否启用 = 真)
    次数 = 取记录数 ()
    .计次循环首 (次数, 索引)
        变量 = 变量 + 1
        .如果真 (次数 ≥ 变量)
            跳到 (变量)
            参数1 = 读字段 (#文件名称, )
            参数2 = 读字段 (#文件目录, )
            参数3 = 读字段 (#媒体时间, )
            参数4 = 读字段 (#播放次数, )
            参数5 = 读字段 (#文件目录, )
            .如果 (文件是否存在 (参数2 + “\” + 参数1) = 真)
                音乐列表框.插入表项 (0, 读字段 (#文件名称, ), , , , )
                音乐列表框.置标题 (0, 1, 读字段 (#文件目录, ))
                目录识别框.插入项目 (0, 读字段 (#文件目录, ), )
                音乐列表框.置标题 (0, 2, 读字段 (#媒体时间, ))
                音乐列表框.置标题 (0, 3, 到文本 (读字段 (#播放次数, )) + “次”)
            .否则
                .如果 (取文本左边 (参数5, 4) = “http”)
                    音乐列表框.插入表项 (0, 读字段 (#文件名称, ), , , , )
                    音乐列表框.置标题 (0, 1, 读字段 (#文件目录, ))
                    目录识别框.插入项目 (0, 读字段 (#文件目录, ), )
                    音乐列表框.置标题 (0, 2, 读字段 (#媒体时间, ))
                    音乐列表框.置标题 (0, 3, 到文本 (读字段 (#播放次数, )) + “次”)
                .否则
                .如果结束
            .如果结束
        .如果真结束
    .计次循环尾 ()
.如果真结束
' slow = 音乐列表框.现行选中项
' temp = 目录识别框.取项目文本 (slow)
' 音乐标题缓存 = 音乐列表框.取标题 (slow, )
' 播放器.地址 = temp + “\” + 音乐标题缓存

.子程序 写数据
.参数 是否启用, 逻辑型
.参数 参数1, 文本型
.参数 参数2, 文本型
.参数 参数3, 文本型
.参数 参数4, 整数型
.局部变量 循环变量, 整数型
.如果真 (是否启用 = 真)
    加空记录 ()
    写 (#文件名称, 参数1)
    写 (#文件目录, 参数2)
    写 (#媒体时间, 参数3)
    写 (#播放次数, 参数4)
.如果真结束
返回 ()
.子程序 _光驱打开_被单击
光驱 = 光驱集.取项目 (0)
.如果真 (光驱.是否为空 () = 真)
    返回 ()
.如果真结束
光驱.弹出光驱 ()

.子程序 _打开_被单击
弹出托盘菜单 (菜单)
.子程序 _打开文件_被选择
.局部变量 L
打开文件对话框.初始目录 = 读配置项 (取运行目录 () + “\empsetting.ini”, “Settings”, “LastDir”, “”)
打开文件对话框.过滤器 = “媒本文件(所有支持的类型)|*.DAT;*.MPG;*.AVI;*.MP3;*.WAV;*.WMA;*.DAT;*.MPG;*.AVI;*.wmv;*.mpeg;*.m1v;*.mp2;*.MP4;*.MP3;*.WAV;*.WMA;*.midi;*.asf;*.wm;*.snd;*.au|所有文件|*.*”
.如果真 (打开文件对话框.打开 () = 假)
    返回 ()
.如果真结束
.如果真 (文件是否存在 (打开文件对话框.文件名))
    播放器.地址 = 打开文件对话框.文件名
    控制.播放 ()
    音乐列表框.全部删除 ()
    写数据 (真, 取文件名称 (打开文件对话框.文件名), 取当前目录 (), 读媒体时间 (打开文件对话框.文件名), 1)
    读数据 (真)
.如果真结束

.子程序 读媒体时间, 文本型
.参数 文件名, 文本型
.局部变量 L, 文本型
.局部变量 A, 文本型
.局部变量 B, 文本型
.局部变量 C, 文本型
.局部变量 F
.局部变量 o
.局部变量 K
媒体播放1.打开 (文件名)
C = 到文本 (媒体播放1.取总时间 ())
F = 媒体播放1.取总时间 () \ 60
o = 媒体播放1.取总时间 ()
K = o - 到整数 (60 × F)  ' - 1
L = 到文本 (媒体播放1.取总时间 () \ 60) + “:” + 到文本 (K)
返回 (L)
.子程序 取文件名称, 文本型
.参数 文件名, 文本型
.局部变量 当前目录, 文本型
.局部变量 变量A
.局部变量 变量B
.局部变量 变量C, 文本型
当前目录 = 取当前目录 ()
变量A = 取文本长度 (文件名)
变量B = 取文本长度 (当前目录)
变量C = 取文本右边 (文件名, 变量A - 变量B - 1)
返回 (变量C)
' 连续赋值 (变量C, 变量1)
.子程序 _打开光驱_被选择
光驱 = 光驱集.取项目 (0)
.如果真 (光驱.是否为空 () = 真)
    光驱.弹出光驱 ()
    返回 ()
.如果真结束
控制.停止 ()
播放器.置当前播放列表 (光驱.取播放列表 ())
控制.播放 ()

.子程序 _慢退_被单击
控制.当前位置 = 0
控制.暂停 ()

.子程序 _快退_被单击
控制.当前位置 = 控制.当前位置 - 5
.子程序 _播放_被单击
控制.播放 ()
处理事件 ()

.子程序 _暂停_被单击
控制.暂停 ()
.子程序 _快进_被单击
控制.当前位置 = 控制.当前位置 + 5
.子程序 _慢进_被单击
.局部变量 临时媒体, 播放器媒体
临时媒体 = 播放器.取当前媒体 ()
.如果真 (临时媒体.是否为空 ())
    返回 ()
.如果真结束
控制.当前位置 = 到数值 (临时媒体.取项目信息 (“duration”))
控制.暂停 ()

.子程序 _停止_被单击
控制.停止 ()
.子程序 _进度滚动条_位置被改变
控制.当前位置 = 进度滚动条.位置
.子程序 _音量滚动条_位置被改变
设定.音量 = 音量滚动条.位置
.子程序 _媒体播放位置_周期事件
.局部变量 整数变量, 整数型
.局部变量 临时媒体, 播放器媒体
' 临时媒体 = 播放器.取当前媒体 ()
.' 如果真 (临时媒体.是否为空 () = 真)
    ' 返回 ()
.如果真结束
' 整数变量 = 控制.当前位置
' ' 进度标签.标题 = “播放进度:” + 到文本 (整数变量) + “/” + 到文本 (四舍五入 (到数值 (临时媒体.取项目信息 (“duration”)), ))
进度滚动条.位置 = 控制.当前位置

.子程序 _播放器_鼠标右键被按下, 逻辑型
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型
弹出托盘菜单 (BF)

.子程序 _播放媒体_被选择
控制.播放 ()
.子程序 _暂停媒体_被选择
控制.暂停 ()
.子程序 _停止媒体_被选择
控制.停止 ()

.子程序 _全屏按钮_被单击
播放器.全屏模式 = 真

.子程序 __启动窗口_尺寸被改变
播放器.宽度 = 取屏幕宽度 () - 324
播放器.高度 = 取屏幕高度 () - 20
底板框.左边 = 宽度 - 322
音量提示标签.左边 = 宽度 - 300
进度滚动条.左边 = 宽度 - 240
音量滚动条.左边 = 宽度 - 240
底板框.高度 = 取用户区高度 () - 23
按钮框.顶边 = 取用户区高度 () - 70
音乐列表框.高度 = 取用户区高度 () - 156

.子程序 _播放器_打开状态被改变
.参数 新的状态, 整数型
.局部变量 临时播放列表, 播放列表
.局部变量 整数变量, 整数型
.局部变量 临时媒体, 播放器媒体
.局部变量 临时字符串, 文本型
.局部变量 A
.局部变量 B, 文本型
.局部变量 C
.局部变量 D, 文本型
.局部变量 E
.如果真 (新的状态 ≠ #打开状态.媒体被打开)
    返回 ()
.如果真结束
媒体 = 播放器.取当前媒体 ()
进度滚动条.最小位置 = 0
进度滚动条.最大位置 = 到数值 (媒体.取项目信息 (“duration”))
A = 到数值 (媒体.取项目信息 (“duration”)) \ 60
B = 媒体.取项目信息 (“duration”)
C = 到数值 (B) - 到整数 (60 × A)  ' - 1
D = 到文本 (到数值 (媒体.取项目信息 (“duration”)) \ 60) + “:” + 到文本 (C)
分组框4.标题 = “文件总时长:” + D + “ 秒”

.子程序 _音乐列表框_鼠标右键被按下, 逻辑型
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型
弹出托盘菜单 (SC)

.子程序 _全部删除_被选择
清空 ()
音乐列表框.全部删除 ()
目录识别框.清空 ()

.子程序 _删除_被选择
删除 (真)
彻底删除 ()
音乐列表框.删除表项 (音乐列表框.现行选中项)
目录识别框.删除项目 (slow)
.子程序 _删除文件_被选择
.局部变量 temp, 文本型
.局部变量 循环变量
.局部变量 音乐标题缓存, 文本型
slow = 音乐列表框.现行选中项
temp = 目录识别框.取项目文本 (slow)
音乐标题缓存 = 音乐列表框.取标题 (slow, )
删除到回收站 (1, temp + “\” + 音乐标题缓存)
音乐列表框.删除表项 (slow)
目录识别框.删除项目 (slow)
.子程序 _音乐列表框_被双击, 逻辑型
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型
.局部变量 slows
.局部变量 temp, 文本型
.局部变量 循环变量
.局部变量 音乐标题缓存, 文本型
slows = 音乐列表框.现行选中项
temp = 目录识别框.取项目文本 (slows)
音乐标题缓存 = 音乐列表框.取标题 (slows, )
.如果 (取文本左边 (temp, 4) = “http”)
    播放器.地址 = temp
.否则
    播放器.地址 = temp + “\” + 音乐标题缓存
.如果结束
控制.播放 ()

.子程序 _优化进程内存时钟_周期事件
优化所有进程_内存 ()

.子程序 __启动窗口_可否被关闭, 逻辑型
.如果 (信息框 (“您确定关闭播放器?”, 4, ) = 5)
    返回 (真)
.否则
    返回 (假)
.如果结束

.子程序 _播放器_状态被改变
.局部变量 临时媒体, 播放器媒体
临时媒体 = 播放器.取当前媒体 ()
' 临时媒体.源图像高度 × 2
' 临时媒体.源图像高度 × 2
播放器.自适应尺寸 = 真

.子程序 _打开URL_被选择
载入 (打开URL, _启动窗口, 假)
---------------------------------------------------------------------
.版本 2
.支持库 iext
.支持库 wmp9
.程序集 窗口程序集_打开URL
.子程序 _编辑框1_字符输入, 整数型
.参数 字符代码, 整数型
.如果真 (字符代码 = #回车键)
    写数据 (真, 取文件名称 (编辑框1.内容), 编辑框1.内容, 读媒体时间 (编辑框1.内容), 1)
    _启动窗口.音乐列表框.全部删除 ()
    读数据 (真)
    _启动窗口.播放器.地址 = 编辑框1.内容
    控制.播放 ()
    打开URL.销毁 ()
.如果真结束

.子程序 _编辑框1_鼠标左键被按下, 逻辑型
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型
编辑框1.内容 = “”
.子程序 _编辑框1_鼠标右键被按下, 逻辑型
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型
' 编辑框1.内容 = “”
---------------------------------------------------------------------
.版本 2
.DLL命令 加载皮肤, , "SkinSharp.dll", "加载皮肤"
    .参数 参数
.DLL命令 优化所有进程_内存, , "SkinSharp.dll", "优化所有进程_内存"
---------------------------------------------------------------------
.版本 2
.常量 数据库1, "“config”"
.常量 文件名称, "“文件名称”"
.常量 文件目录, "“文件目录”"
.常量 媒体时间, "“媒体时间”"
.常量 播放次数, "“播放次数”"
---------------------------------------------------------------------
.版本 2
.支持库 wmp9
.全局变量 控制, 播放器控制
.全局变量 媒体, 播放器媒体
.全局变量 网络, 播放器网络
.全局变量 设定, 播放器设定
.全局变量 光驱, 播放器光驱
.全局变量 光驱集, 播放器光驱集
---------------------------------------------------------------------
.版本 2
.程序集 _模块_禁止多次运行程序, , , ** 不要更改此处 模块_禁止多次运行.ec
.子程序 模块_程序是否已运行, 逻辑型, , 真表示已经运行,假表示还未运行
.参数 标志文本, 文本型, , 可以是任何文本,但是最好要长一点以保证和系统中已有其他事件对象的名称不相冲突。
' ** 本子程序功能由系统自动转交对应模块实现,可以删除但不能修改。
.子程序 模块_关闭事件同步对象, , , 窗口销毁时调用
' ** 本子程序功能由系统自动转交对应模块实现,可以删除但不能修改。
---------------------------------------------------------------------
.版本 2
.程序集 窗口程序集1
.子程序 __启动窗口_创建完毕
.如果真 (模块_程序是否已运行 (“禁止多次运行”) = 真)
    信息框 (“程序已经运行!”, 0, )
    销毁 ()
    返回 ()
.如果真结束
_启动窗口.可视 = 真
.子程序 __启动窗口_将被销毁
模块_关闭事件同步对象 ()
---------------------------------------------------------------------

START /在我右心房的中心街部位,保留着那一份属于我们的仅存的记忆。有一种幸福叫等待,我要旳是爱不是安

使用道具 举报

Rank: 7Rank: 7Rank: 7

帖子
567
精华
0
声望
2374 点
金币
344 Mold
被赞许
15 次
注册时间
2011-4-7

可爱小猫 懒人勋章

发表于 2012-5-15 21:50:43 |显示全部楼层
发个图亮亮


附件: 你需要登录才可以下载或查看附件。没有帐号?注册
START /在我右心房的中心街部位,保留着那一份属于我们的仅存的记忆。有一种幸福叫等待,我要旳是爱不是安

使用道具 举报

Rank: 7Rank: 7Rank: 7

帖子
567
精华
0
声望
2374 点
金币
344 Mold
被赞许
15 次
注册时间
2011-4-7

可爱小猫 懒人勋章

发表于 2012-5-15 21:53:26 |显示全部楼层
注意:
如果是网络播放
一定的网速好哈
不然一卡一卡的
可以获取 网络 歌曲 媒体时间
及文件名,地址
文件地址必须是 http开头的哈
不然程序就不会读到程序中哦
START /在我右心房的中心街部位,保留着那一份属于我们的仅存的记忆。有一种幸福叫等待,我要旳是爱不是安

使用道具 举报

Rank: 7Rank: 7Rank: 7

帖子
567
精华
0
声望
2374 点
金币
344 Mold
被赞许
15 次
注册时间
2011-4-7

可爱小猫 懒人勋章

发表于 2012-5-15 22:55:11 |显示全部楼层
对不起哦,,,我检查了代码
这里错了
我是说有个严重的BUG没看到
这个:
.子程序 _删除_被选择
删除 (真)
彻底删除 ()
音乐列表框.删除表项 (音乐列表框.现行选中项)
目录识别框.删除项目 (slow)
改成这个
.子程序 _删除_被选择
删除 (真)
彻底删除 ()
slow=音乐列表框.现行选中项
音乐列表框.删除表项 (音乐列表框.现行选中项)
目录识别框.删除项目 (slow)
不然逻辑就错了

START /在我右心房的中心街部位,保留着那一份属于我们的仅存的记忆。有一种幸福叫等待,我要旳是爱不是安

使用道具 举报

Rank: 7Rank: 7Rank: 7

帖子
567
精华
0
声望
2374 点
金币
344 Mold
被赞许
15 次
注册时间
2011-4-7

可爱小猫 懒人勋章

发表于 2012-5-15 23:00:40 |显示全部楼层
在这里出这样的 差错
我很抱歉。。。其实也是被 E语言 超级列表框害的
不然我不会让 列表框 的逻辑 和 超级列表框一样,如果2值不一样 就不可以 互连,,,就会出错
尤其是 播放网络地址的时候  目录 不一样 那不是 。。。
START /在我右心房的中心街部位,保留着那一份属于我们的仅存的记忆。有一种幸福叫等待,我要旳是爱不是安

使用道具 举报

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

回顶部