|
5精币
窗口程序集名 | 保 留 | 保 留 | 备 注 | 窗口程序集_启动窗口 | | | | 变量名 | 类 型 | 数组 | 备 注 | 集_媒体时间 | 整数型 | | 集_当前时间 | 整数型 | |
|
_添加文件_鼠标左键被按下 | 逻辑型 | | |
横向位置 | 整数型 | | | | 纵向位置 | 整数型 | | | | 功能键状态 | 整数型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | 文件名 | 文本型 | | | 文件数组 | 文本型 | | 0 |
文件名 = 对话框_文件多选框 (取窗口句柄 (), “打开常用文件类型”, “支持的音频文件|*.mp3;*.wma;*.ape;*.ogg;*.flac;*.wav;*.m4a;*.mid;*.mpc;*.wave;*.cd;*.rm;*.tta;*.aiff;*.au;*.cue;*.dts|”, , )如果真 (文件名 ≠ “”)文件数组 = 分割文本 (文件名, #换行符, )添加文件子程序 (文件数组 )变量名 | 类 型 | 静态 | 数组 | 备 注 | 行数 | 整数型 | | | i | 整数型 | | | 标签信息 | 音乐文件信息 | | | 时间 | 文本型 | | | 名称 | 文本型 | | | 名称1 | 文本型 | | |
记录集_歌曲列表. 删除 (3 )计次循环首 (取数组成员数 (获取的文件 ), i )标签信息 = 取文件信息_M (获取的文件 [i ])时间 = 标签信息.时间 名称 = 标签信息.艺术家 名称1 = 标签信息.歌曲标题 窗口.记录集_歌曲列表. 到首记录 ()窗口.记录集_歌曲列表. 添加 ()窗口.记录集_歌曲列表. 写文本 (“歌曲”, 名称1 )窗口.记录集_歌曲列表. 写文本 (“歌手”, 名称 )窗口.记录集_歌曲列表. 写文本 (“时间”, 时间 )窗口.记录集_歌曲列表. 写文本 (“歌曲路径”, 获取的文件 [i ])窗口.记录集_歌曲列表. 到下一条 ()计次循环尾 ()窗口.记录集_歌曲列表. 更新 ()超级列表框_添加歌曲 ()变量名 | 类 型 | 静态 | 数组 | 备 注 | 分_整数 | 整数型 | | | 秒_整数 | 整数型 | | | 秒_文本 | 文本型 | | | 分_文本 | 文本型 | | |
集_当前时间 = 取整 (bass. 位置到时间 (文件句柄, bass. 取播放位置 (文件句柄 )) )分_整数 = 集_当前时间 \ 60 秒_整数 = 集_当前时间 % 60 如果 (分_整数 < 10 )分_文本 = “0” + 到文本 (分_整数 )分_文本 = 到文本 (分_整数 )如果 (秒_整数 < 10 )秒_文本 = “0” + 到文本 (秒_整数 )秒_文本 = 到文本 (秒_整数 )标签_歌曲进度.标题 = 分_文本 + “:” + 秒_文本 进度条_歌曲进度.位置 = 到整数 (bass. 取播放位置 (文件句柄 ) ÷ bass. 取媒体长度 (文件句柄 ) × 100 )如果真 (bass. 取播放状态 (文件句柄 ) = 0 )进度条_歌曲进度.位置 = 0 时钟_歌曲进度.时钟周期 = 0 启动线程 (&播放模式, , 播放句柄 )|
_超级列表框1_被双击 | 逻辑型 | | |
横向位置 | 整数型 | | | | 纵向位置 | 整数型 | | | | 功能键状态 | 整数型 | | | | 如果真 (超级列表框1.现行选中项 = -1 )返回 ()停止_歌曲 ()全局_歌曲列表_选中项 = 超级列表框1.现行选中项 播放超级列表框现行选中 ()如果 (滑块条_音量.位置 < 10 )标签_音量.标题 = “0” + 到文本 (滑块条_音量.位置 )标签_音量.标题 = 到文本 (滑块条_音量.位置 )音量_设置当前程序音量 (滑块条_音量.位置 )bass. 释放Bass ()bass. 关闭文件 (文件句柄 )强制结束线程 (频谱句柄 )强制结束线程 (播放句柄 )关闭accsse数据库 ()删除进入许可证 (线程管理 )资源皮肤 ( #皮肤_优雅 )线程管理 = 创建进入许可证 ()打开accsse数据库 ()超级列表框_添加歌曲 ()读窗口界面 ()启动线程 (&系统初始化, , )全局_配置项路径 = 取运行目录 () + “\lib\music.ini”全局_频谱类型 = 真 程序_延时 (1000, )配置项初始化 ()启动初始化 ()bass初始化 ()如果真 (全局_频谱类型 = 真)bass. 画频谱2 (窗口.画板1, 文件句柄, , , #黑色, 5, 2 )|
_图形按钮_下一首_鼠标左键被按下 | 逻辑型 | | |
横向位置 | 整数型 | | | | 纵向位置 | 整数型 | | | | 功能键状态 | 整数型 | | | | 如果 (全局_歌曲列表_选中项 < 超级列表框1. 取表项数 () - 1 )全局_歌曲列表_选中项 = 全局_歌曲列表_选中项 + 1 如果 (全局_歌曲列表_选中项 = 超级列表框1. 取表项数 () - 1 )全局_歌曲列表_选中项 = 0 超级列表框1.现行选中项 = 全局_歌曲列表_选中项超级列表框1. 保证显示 (全局_歌曲列表_选中项 )停止_歌曲 ()播放超级列表框现行选中 ()|
_图片框_上一首_鼠标左键被按下 | 逻辑型 | | |
横向位置 | 整数型 | | | | 纵向位置 | 整数型 | | | | 功能键状态 | 整数型 | | | | 停止_歌曲 ()添加提示 (图片框_上一首. 取窗口句柄 (), “上一首”, 假, 假)如果 (全局_歌曲列表_选中项 > 0 )全局_歌曲列表_选中项 = 全局_歌曲列表_选中项 - 1 如果 (全局_歌曲列表_选中项 = 0 )全局_歌曲列表_选中项 = 超级列表框1. 取表项数 () - 1 超级列表框1.现行选中项 = 全局_歌曲列表_选中项超级列表框1. 保证显示 (全局_歌曲列表_选中项 )播放超级列表框现行选中 ()|
_图片框_播放_鼠标左键被按下 | 逻辑型 | | |
横向位置 | 整数型 | | | | 纵向位置 | 整数型 | | | | 功能键状态 | 整数型 | | | | 判断 (图片框_播放.图片 = #播放 )判断 (bass. 取播放状态 (文件句柄 ) = 3 )继续_歌曲 ()线程_恢复 (频谱句柄 )判断 (bass. 取播放状态 (文件句柄 ) = 1 )停止_歌曲 ()窗口.超级列表框1. 获取焦点 ()窗口.超级列表框1.现行选中项 = 全局_歌曲列表_选中项 窗口.超级列表框1. 保证显示 (全局_歌曲列表_选中项 )播放超级列表框现行选中 ()窗口.超级列表框1. 获取焦点 ()窗口.超级列表框1.现行选中项 = 全局_歌曲列表_选中项 窗口.超级列表框1. 保证显示 (全局_歌曲列表_选中项 )播放超级列表框现行选中 ()图片框_播放.图片 = #暂停 判断 (图片框_播放.图片 = #暂停 )暂停_歌曲 ()图片框_播放.图片 = #播放 |
_图片框_停止_鼠标左键被按下 | 逻辑型 | | |
横向位置 | 整数型 | | | | 纵向位置 | 整数型 | | | | 功能键状态 | 整数型 | | | | 停止_歌曲 ()|
_进度条_歌曲进度_鼠标左键被按下 | 逻辑型 | | |
横向位置 | 整数型 | | | | 纵向位置 | 整数型 | | | | 功能键状态 | 整数型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | 坐标 | 精易_坐标 | | | 位置系数 | 小数型 | | | n | 整数型 | | |
坐标 = 鼠标_取窗口坐标 (进度条_歌曲进度. 取窗口句柄 ()) 位置系数 = 四舍五入 (坐标.横 ÷ 进度条_歌曲进度.宽度, 2 )如果真 (bass. 取播放状态 (文件句柄 ) = 1 或 bass. 取播放状态 (文件句柄 ) = 3 )进度条_歌曲进度.位置 = 位置系数 × 100 暂停_歌曲 ()线程_挂起 (频谱句柄 )时钟_歌曲进度.时钟周期 = 0 bass. 置播放位置 (文件句柄, 取整 (bass. 取媒体长度 (文件句柄 ) × 位置系数 )) 继续_歌曲 ()时钟_歌曲进度.时钟周期 = 1000 线程_恢复 (频谱句柄 )|
_图片框_播放模式_鼠标左键被按下 | 逻辑型 | | |
横向位置 | 整数型 | | | | 纵向位置 | 整数型 | | | | 功能键状态 | 整数型 | | | | 如果 (分组框_播放模式.可视 = 假)分组框_播放模式.可视 = 真 分组框_播放模式.可视 = 假 全局_播放模式 = “单曲循环”播放模式写入配置项 (全局_播放模式 )分组框_播放模式.可视 = 假 全局_播放模式 = “列表循环”播放模式写入配置项 (全局_播放模式 )分组框_播放模式.可视 = 假 全局_播放模式 = “随机播放”播放模式写入配置项 (全局_播放模式 )分组框_播放模式.可视 = 假 弹出菜单 (菜单, , )文件_定位 (超级列表框1. 取标题 (全局_歌曲列表_选中项, 5 ), ) 添加提示 (图片框_上一首. 取窗口句柄 (), “上一首”, 假, 假)添加提示 (图片框_停止. 取窗口句柄 (), “停止”, 假, 假)添加提示 (图形按钮_下一首. 取窗口句柄 (), “下一首”, 假, 假)添加提示 (滑块条_音量. 取窗口句柄 (), “单击调节音量”, 假, 假)添加提示 (进度条_歌曲进度. 取窗口句柄 (), “单击调节进度”, 假, 假)添加提示 (标签_歌曲进度. 取窗口句柄 (), “播放时间”, 假, 假)添加提示 (标签_歌曲长度. 取窗口句柄 (), “总时间”, 假, 假)添加提示 (标签_音量. 取窗口句柄 (), “当前音量”, 假, 假)添加提示 (添加文件. 取窗口句柄 (), “添加文件”, 假, 假)添加提示 (图片框_播放模式. 取窗口句柄 (), “播放模式”, 假, 假)|
_图片框_播放_鼠标位置被移动 | 逻辑型 | | |
横向位置 | 整数型 | | | | 纵向位置 | 整数型 | | | | 功能键状态 | 整数型 | | | | 判断 (图片框_播放.图片 = #播放 )添加提示 (图片框_播放. 取窗口句柄 (), “播放”, 假, 假)添加提示 (图片框_播放. 取窗口句柄 (), “暂停”, 假, 假) 窗口.数据库连接1. 连接Access (取运行目录 () + “\lib\gequ.mdb”, “”)窗口.记录集_歌曲列表. 置连接 (窗口.数据库连接1 )窗口.记录集_歌曲列表. 打开 (“gequ”, #数据表名, )如果 (窗口.数据库连接1.是否已连接 = 真 且 窗口.记录集_歌曲列表.是否已打开 = 真)窗口.标题 = “音乐播放器 - 数据加载正常”窗口.标题 = “音乐播放器 - 数据库连接失败”窗口.记录集_歌曲列表. 关闭 ()窗口.数据库连接1. 关闭 ()计次循环首 (窗口.记录集_歌曲列表.记录数量, 记录_计次 )窗口.记录集_歌曲列表. 到首记录 ()如果真 (窗口.记录集_歌曲列表. 查找 (“歌名='” + 歌名 + “'”, 1 )) 窗口.记录集_歌曲列表. 删除 (1 )跳出循环 ()窗口.记录集_歌曲列表.到下一条 ()计次循环尾 ()窗口.记录集_歌曲列表. 更新 ()窗口.记录集_歌曲列表. 到首记录 ()窗口.记录集_歌曲列表. 删除 (3 )窗口.记录集_歌曲列表. 更新 () 变量名 | 类 型 | 静态 | 数组 | 备 注 | 记录_计次 | 整数型 | | | 歌名 | 文本型 | | | 歌手 | 文本型 | | | 歌曲路径 | 文本型 | | | 歌词路径 | 文本型 | | | 图片路径 | 文本型 | | | 表项索引 | 整数型 | | | 序号 | 文本型 | | | 时间 | 文本型 | | |
窗口.超级列表框1. 全部删除 ()窗口.记录集_歌曲列表. 到首记录 ()如果真 (窗口.记录集_歌曲列表.记录数量 > 0 )窗口.记录集_歌曲列表. 到首记录 ()计次循环首 (窗口.记录集_歌曲列表.记录数量, 记录_计次 )窗口.记录集_歌曲列表. 读文本 (“歌曲”, 歌名 )窗口.记录集_歌曲列表. 读文本 (“歌手”, 歌手 )窗口.记录集_歌曲列表. 读文本 (“时间”, 时间 )窗口.记录集_歌曲列表. 读文本 (“歌曲路径”, 歌曲路径 )表项索引 = 窗口.超级列表框1. 插入表项 (, , , , , )判断 (记录_计次 < 10 )序号 = “00” + 到文本 (记录_计次 )判断 (记录_计次 < 100 )序号 = “0” + 到文本 (记录_计次 )窗口.超级列表框1.置标题 (表项索引, 1, 序号)窗口.超级列表框1. 置标题 (表项索引, 2, 歌名 )窗口.超级列表框1. 置标题 (表项索引, 3, 歌手 )窗口.超级列表框1. 置标题 (表项索引, 4, 时间 )窗口.超级列表框1. 置标题 (表项索引, 5, 歌曲路径 )窗口.记录集_歌曲列表. 到下一条 ()计次循环尾 ()判断 (全局_播放模式 = “单曲循环”)窗口.超级列表框1. 获取焦点 ()窗口.超级列表框1.现行选中项 = 全局_歌曲列表_选中项 窗口.超级列表框1. 保证显示 (全局_歌曲列表_选中项 )播放超级列表框现行选中 ()判断 (全局_播放模式 = “列表循环”)播放下一首 ()判断 (全局_播放模式 = “随机播放”)置随机数种子 ()全局_歌曲列表_选中项 = 取随机数 (0, 窗口.超级列表框1. 取表项数 () - 1 )播放超级列表框现行选中 ()程序_延时 (1000, )判断 (全局_歌曲列表_选中项 < 窗口.超级列表框1. 取表项数 () - 1 )全局_歌曲列表_选中项 = 全局_歌曲列表_选中项 + 1 判断 (全局_歌曲列表_选中项 = 窗口.超级列表框1. 取表项数 () - 1 )全局_歌曲列表_选中项 = 0 停止_歌曲 ()播放超级列表框现行选中 ()强制结束线程 (频谱句柄 )窗口.画板1. 清除 (, , , )窗口.标签_歌曲进度.标题 = “00:00”窗口.标签_歌曲长度.标题 = “00:00”窗口.图片框_播放.图片 = #播放 窗口.时钟_歌曲进度.时钟周期 = 0 窗口.进度条_歌曲进度.位置 = 0 bass. 停止 (文件句柄 )bass. 关闭文件 (文件句柄 )bass. 暂停 (文件句柄 )bass. 播放 (文件句柄, 假)如果真 (窗口.图片框_播放.图片 = #播放 )窗口.图片框_播放.图片 = #暂停 启动线程 (&播放_歌曲, , 播放句柄 )变量名 | 类 型 | 静态 | 数组 | 备 注 | 分_整数 | 整数型 | | | 秒_整数 | 整数型 | | | 分_文本 | 文本型 | | | 秒_文本 | 文本型 | | |
文件句柄 = bass. 打开文件 (窗口.超级列表框1. 取标题 (全局_歌曲列表_选中项, 5 ), , , )窗口.集_媒体时间 = 取整 (bass. 位置到时间 (文件句柄, bass. 取媒体长度 (文件句柄 )) )分_整数 = 窗口.集_媒体时间 \ 60 秒_整数 = 窗口.集_媒体时间 % 60 如果 (分_整数 < 10 )分_文本 = “0” + 到文本 (分_整数 )分_文本 = 到文本 (分_整数 )如果 (秒_整数 < 10 )秒_文本 = “0” + 到文本 (秒_整数 )秒_文本 = 到文本 (秒_整数 )窗口.标签_歌曲长度.标题 = 分_文本 + “:” + 秒_文本全局_播放歌曲名 = “ 正在播放 <” + 窗口.超级列表框1.取标题 (全局_歌曲列表_选中项, 2) + “>”全局_歌曲名 = 窗口.超级列表框1. 取标题 (全局_歌曲列表_选中项, 2 )窗口.时钟_歌曲进度.时钟周期 = 1000 窗口.标题 = 全局_播放歌曲名 窗口.超级列表框1. 获取焦点 ()窗口.超级列表框1.现行选中项 = 全局_歌曲列表_选中项 窗口.超级列表框1. 保证显示 (全局_歌曲列表_选中项 )bass. 播放 (文件句柄, )音量_设置当前程序音量 (窗口.滑块条_音量.位置 )窗口.频谱时钟.时钟周期 = 50 变量名 | 类 型 | 静态 | 数组 | 备 注 | 时间_ | 文本型 | | | 秒 | 双精度小数型 | | | 豪秒 | 双精度小数型 | | | 文件 | 类_MediaInfo | | | 内容 | 音乐文件信息 | | | 文件大小 | 文本型 | | | 艺术家 | 文本型 | | | 歌曲标题 | 文本型 | | |
文件. 打开 (ANSI转UNICODE (文件路径 )) 内容.摘要 = Unicode转Ansi2 (文件. 取摘要 (), )艺术家 = 文件. 取信息_文本 (“Performer”, #Stream_General, 0 ) 歌曲标题 = 文件. 取信息_文本 (“Track”, #Stream_General, 0 ) 内容.专辑名称 = 文件. 取信息_文本 (“Album”, #Stream_General, 0 ) 内容.码率 = 到文本 (到整数 (文件. 取信息_文本 (“BitRate”, #Stream_Audio, 0 )) ÷ 1000 ) + “ Kbps” 内容.编码 = 文件. 取信息_文本 (“Format/Info”, #Stream_General, 0 ) 内容.编码方式 = 文件. 取信息_文本 (“Audio_Codec_List”, #Stream_General, 0 ) 内容.频率 = 文件. 取信息_文本 (“SamplingRate”, #Stream_Audio, 0 ) + “ Hz” 内容.歌词 = 文件. 取信息_文本 (“Lyrics”, #Stream_General, 0 ) 文件大小 = 文件. 取信息_文本 (“FileSize”, #Stream_General, 0 ) 内容.声道 = 文件. 取信息_文本 (“Channel(s)”, #Stream_Audio, 0 ) + “ 声道” 豪秒 = 到整数 (文件. 取信息_文本 (“Duration”, #Stream_General, 0 )) 文件. 关闭 ()秒 = 豪秒 \ 1000 内容.时间 = 时间_秒到时间2 (秒 )内容.文件大小 = 四舍五入_指定小数位数 (到文本 (到整数 (文件大小 ) ÷ 1024 ÷ 1024 ), 2 ) + “ MB”内容.艺术家 = 选择 (艺术家 = “”, “未知艺术家”, 艺术家 )内容.歌曲标题 = 选择 (歌曲标题 = “”, “未知标题”, 歌曲标题 )返回 (内容 )|
Unicode转Ansi2 | 文本型 | | |
Unicode | 字节集 | | | | 目标编码 | 整数型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | Ansi | 文本型 | | | 长度 | 整数型 | | | 如果真 (是否为空 (目标编码 )) 目标编码 = 0 长度 = _Unicode转Ansi (0, 0, Unicode, -1, “”, 0, 0, 0)Ansi = 取空白文本 (长度 × 2 )_Unicode转Ansi (目标编码, 0, Unicode, -1, Ansi, 长度 × 2, 0, 0 )返回 (Ansi ) 全局_播放模式 = 读配置项 (全局_配置项路径, “模式”, “播放模式”, )窗口.滑块条_音量.位置 = 到整数 (读配置项 (全局_配置项路径, “音量”, “歌曲音量”, )) 如果 (窗口.滑块条_音量.位置 < 10 )窗口.标签_音量.标题 = “0” + 到文本 (窗口.滑块条_音量.位置 )窗口.标签_音量.标题 = 到文本 (窗口.滑块条_音量.位置 )bass.置音量 (窗口.滑块条_音量.位置 ÷ 3.2)bass. 初始化 (, , , )删除文件 (“C:\Users\Administrator\Desktop\asdf\lib\music.ini”)如果真 (文件是否存在 (全局_配置项路径 ) = 假)写配置项 (全局_配置项路径, “路径”, “歌曲下载目录”, 取运行目录 ()) 写配置项 (全局_配置项路径, “模式”, “播放模式”, “列表循环”)写配置项 (全局_配置项路径, “音量”, “歌曲音量”, “8”)写配置项 (取运行目录 () + “\lib\music.ini”, “模式”, “播放模式”, 参数_模式 )|
是否执行空闲事件 | 逻辑型 | | | bass | BASS类 | | | 文件句柄 | 整数型 | | | 全局_歌曲列表_选中项 | 整数型 | | | 全局_播放歌曲名 | 文本型 | | | 全局_歌曲名 | 文本型 | | | 频谱句柄 | 整数型 | | | 全局_频谱类型 | 逻辑型 | | | 全局_播放模式 | 文本型 | | | 全局_配置项路径 | 文本型 | | | 播放句柄 | 整数型 | | | 线程管理 | 整数型 | | |
|
|