赞 | 2 |
VIP | 0 |
好人卡 | 0 |
积分 | 1 |
经验 | 4954 |
最后登录 | 2024-3-18 |
在线时间 | 54 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 81
- 在线时间
- 54 小时
- 注册时间
- 2008-12-24
- 帖子
- 345
|
8楼
楼主 |
发表于 2010-12-25 20:33:20
|
只看该作者
本帖最后由 kula1900 于 2010-12-25 20:36 编辑
:) 有呀...你要?易语言的 要么?因为涉及 MeidaInfo.dll 所以...呵呵...
.版本 2
.支持库 krnlnex
.程序集 程序集1
.程序集变量 媒体信息, 媒体信息
.程序集变量 i, 整数型
.子程序 _启动子程序, 整数型, , 请在本子程序中放置动态链接库初始化代码
媒体信息.载入库 ()
返回 (0) ' 返回值被忽略。
.子程序 _临时子程序
' 本名称子程序用作测试程序用,仅在开发及调试环境中有效,编译发布程序前将被系统自动清空,请将所有用作测试的临时代码放在本子程序中。 ***注意不要修改本子程序的名称、参数及返回值类型。
.子程序 GetLength, 整数型, 公开
.参数 流, 整数型
返回 (BASS_ChannelBytes2Seconds (流, BASS_ChannelGetLength (流, 0)))
.子程序 GetPos, 整数型, 公开
.参数 流, 整数型
返回 (BASS_ChannelBytes2Seconds (流, BASS_ChannelGetPosition (流, 0)))
.子程序 GetHwnd, 整数型, 公开
返回 (FindWindow (“RGSS Player”, 读配置项 (取运行目录 () + “\Game.ini”, “Game”, “Title”, “”)))
.子程序 GetTitle, 文本型, 公开
.参数 Path, 文本型
.局部变量 转路径, 文本型
.局部变量 歌手, 文本型
.局部变量 歌曲, 文本型
转路径 = UTF8转ANSI (到字节集 (Path))
转路径 = 转换路径 (转路径)
.如果真 (转路径 ≠ “不存在!”)
歌曲 = 媒体信息.获取指定信息 (转路径, “Inform”, “General;%Title%”)
.如果真 (歌曲 = “”)
取信息 (转路径, 歌手, 歌曲)
.如果真结束
返回 (到文本 (ANSI转UTF8 (歌曲)))
.如果真结束
返回 (到文本 (ANSI转UTF8 (“文件不存在!”)))
.子程序 取信息
.参数 路径, 文本型
.参数 歌手, 文本型, 参考
.参数 歌曲, 文本型, 参考
.局部变量 ID3V1, MP3_ID3V1
.局部变量 转换类, 转换类
取信息II (路径, 歌手, 歌曲)
.如果真 (歌曲 = “”)
取信息III (路径, 歌曲)
.如果真结束
.如果真 (歌手 = “”)
取信息III (路径, , 歌手)
.如果真结束
.如果真 (歌曲 = “”)
歌曲 = 转换类.路径取标题 (路径)
.如果真结束
.如果真 (歌手 = “”)
歌手 = “未知”
.如果真结束
返回 ()
.子程序 转换路径, 文本型
.参数 路径, 文本型
.如果 (取反 (文件是否存在 (路径)) = 真)
返回 (取运行目录 () + “\” + 路径)
.如果真 (取反 (文件是否存在 (取运行目录 () + “\” + 路径)))
返回 (“不存在!”)
.如果真结束
返回 (取运行目录 () + “\” + 路径)
.否则
返回 (路径)
.如果结束
.子程序 GetSinger, 文本型, 公开
.参数 Path, 文本型
.局部变量 转路径, 文本型
.局部变量 歌手, 文本型
.局部变量 歌曲, 文本型
转路径 = UTF8转ANSI (到字节集 (Path))
转路径 = 转换路径 (转路径)
.如果真 (转路径 ≠ “不存在!”)
歌手 = 媒体信息.获取指定信息 (转路径, “Inform”, “General;%Performer%”)
.如果真 (歌手 = “”)
取信息 (转路径, 歌手, 歌曲)
.如果真结束
返回 (到文本 (ANSI转UTF8 (歌手)))
.如果真结束
返回 (到文本 (ANSI转UTF8 (“未知”)))
.子程序 取信息II
.参数 路径, 文本型
.参数 歌手, 文本型, 参考
.参数 歌曲, 文本型, 参考
.局部变量 ID3V1, MP3_ID3V1
读ID3V1 (路径, ID3V1)
歌手 = ID3V1.歌手名
歌曲 = ID3V1.歌曲名
.如果真 (ID3V1.歌手名 ≠ “”)
歌手 = ID3V1.歌手名
.如果真结束
.如果真 (ID3V1.歌曲名 ≠ “”)
歌曲 = ID3V1.歌曲名
.如果真结束
.子程序 取信息III
.参数 路径, 文本型
.参数 歌手, 文本型, 参考 可空
.参数 歌曲, 文本型, 参考 可空
.局部变量 ID3V1, MP3_ID3V2
读ID3V2 (路径, ID3V1)
歌手 = ID3V1.歌手名
歌曲 = ID3V1.歌曲名
.如果真 (ID3V1.歌手名 ≠ “”)
歌手 = ID3V1.歌手名
.如果真结束
.如果真 (ID3V1.歌曲名 ≠ “”)
歌曲 = ID3V1.歌曲名
.如果真结束
.子程序 SetPos, , 公开
.参数 流, 整数型
.参数 小数, 整数型
BASS_ChannelSetPosition (流, BASS_ChannelSeconds2Bytes (流, 小数), 0)
.子程序 seek, , 公开
.参数 流, 整数型
.参数 位置, 整数型
BASS_ChannelSetPosition (流, BASS_ChannelSeconds2Bytes (流, BASS_ChannelBytes2Seconds (流, BASS_ChannelGetPosition (流, 0)) + 位置), 0)
.子程序 GetPath, 文本型, 公开
返回 (到文本 (ANSI转UTF8 (取运行目录 ())))
.子程序 SetVol, , 公开
.参数 流, 整数型
.参数 vol, 整数型
BASS_ChannelSetAttribute (流, #BASS_ATTRIB_VOL, vol ÷ 100)
.子程序 GetVol, 整数型, 公开
.参数 流, 整数型
.局部变量 vold, 小数型
.局部变量 vol, 整数型
BASS_ChannelGetAttribute (流, #BASS_ATTRIB_VOL, vold)
vol = vold × 100
返回 (vol)
.子程序 To, , 公开
.参数 流, 整数型
.参数 pos, 整数型
BASS_ChannelSetPosition (流, BASS_ChannelSeconds2Bytes (流, BASS_ChannelBytes2Seconds (流, pos)), 0)
.子程序 LoadDecoder, , 公开
枚举文件 (取运行目录 () + “\Decoder”, 真, 0, &load)
.子程序 load, 逻辑型, , '
.参数 路径, 文本型
BASS_PluginLoad (路径, i)
i = i + 1
返回 (真)
|
|