level 9
a1091817957
楼主
视频还没审核过,先发个贴。
开始的时候我只是看到了风飏大佬的作品Eurydice播放器(链接https://tieba.baidu.com/p/4788710033);然后起意准备做一个带歌词的网易云播放器。结果做到一半发现风飏大佬一年前已经做过一个,于是就根据大佬做的【Eurydice2019】(链接https://tieba.baidu.com/p/6320634720)逐步完善了我的dll插件功能;
斜杠s斜杠10网Otyfo盘V647X_链VjUOR接p5tZw
提取码80do
皮肤的内存占用率降到了(9.7M-3.4M=6.3M)。

插件父节点能够返回进度值以及歌曲长度(作为maxValue),所以可以直接用于Bar节点;
多线程降低资源使用,改变歌词刷新模式,设置歌词切换等待值(下图中的Sleeping_for),能够快速切换歌词显示的同时不占用过多的CPU资源。

下面是插件例程:
;--------------------------------------
;Plugin: lyric-online.dll
;--------------------------------------
[Parent]
Measure=Plugin
Plugin=lyric-online
Name=[&mPlayer]
;输入歌曲名
Artist=[&mArtist]
;输入歌手名
DownloadPath=temp
;下载文件夹,在皮肤文件夹内
Cover=cover
;封面节点名
Cover1=cover1
;若要使用插件自带渐变刷新动作,需要复制一个相同属性的封面节点
CoverUpdate=1
;封面刷新模式;缺省为1
;=0:直接切换,不需要Cover1
;=1:插件自带渐变刷新,与CoverUpdateRate、CoverUpdateDuration配合
;=2:使用自定义刷新动作,与CoverUpdateAction配合使用
CoverUpdateRate=100
;封面刷新帧率,缺省为50FPS
CoverUpdateDuration=100
;封面切换时间,缺省为400,单位毫秒
CoverUpdateAction=[]
;自定义刷新动作
lrc_ctrl=lyricctrl
;单行歌词节点
lrc_ctrl1=lyricctrl1
;双行歌词节点1
lrc_ctrl2=lyricctrl2
;双行歌词节点2
OffSet=-50
;歌词偏移量,缺省为0,单位为10毫秒,即100为1秒;正值表示歌词延迟(前进),负值表示歌词提前(后退)
linage=0
;歌词行数,缺省为0
;=0:双行显示歌词
;=1:单行显示歌词
mode=0
;是否显示翻译,缺省为0
;=0:有翻译歌词时显示翻译
;=1:不显示翻译
DynamicVariables=1
;配合musicplayer插件使用时需要置1
UpdateDivider=1
;此measure负责刷新进度值,可直接用于Bar节点
;如不需要进度值可设-1
[Child]
Measure=Plugin
Plugin=Parent
ParentName=mLrc_Plugin
Type=Title
;返回歌曲详细信息,格式为:
;歌曲名(换行)描述信息(换行)专辑名(换行)歌手(换行)同名歌曲数
Type=albumNAME
;返回专辑名(字符串)以及同名歌曲编号(数值)
Type=name
;返回歌曲名,由于musicplayer插件根据字符'-'来拆分名称和歌手,若歌曲名中出现'-'则会拆分错误,所以使用API返回的名称
Type=artists
;返回歌手名,理由同上
Type=alias
;返回描述信息(字符串)以及同名歌曲编号(数值)
Type=songcnt
;返回同名同歌手的歌曲总数
Type=lyric
;返回单行歌词(字符串)以及歌词编号(数值)
Type=lyric1
;返回单行歌词(字符串)以及歌词编号(数值)
Type=lyric2
;返回单行歌词(字符串)以及歌词编号(数值)
Type=lyriccnt
;返回歌词总数
2020年08月03日 16点08分
1
开始的时候我只是看到了风飏大佬的作品Eurydice播放器(链接https://tieba.baidu.com/p/4788710033);然后起意准备做一个带歌词的网易云播放器。结果做到一半发现风飏大佬一年前已经做过一个,于是就根据大佬做的【Eurydice2019】(链接https://tieba.baidu.com/p/6320634720)逐步完善了我的dll插件功能;
斜杠s斜杠10网Otyfo盘V647X_链VjUOR接p5tZw
提取码80do
皮肤的内存占用率降到了(9.7M-3.4M=6.3M)。
插件父节点能够返回进度值以及歌曲长度(作为maxValue),所以可以直接用于Bar节点;多线程降低资源使用,改变歌词刷新模式,设置歌词切换等待值(下图中的Sleeping_for),能够快速切换歌词显示的同时不占用过多的CPU资源。

下面是插件例程:;--------------------------------------
;Plugin: lyric-online.dll
;--------------------------------------
[Parent]
Measure=Plugin
Plugin=lyric-online
Name=[&mPlayer]
;输入歌曲名
Artist=[&mArtist]
;输入歌手名
DownloadPath=temp
;下载文件夹,在皮肤文件夹内
Cover=cover
;封面节点名
Cover1=cover1
;若要使用插件自带渐变刷新动作,需要复制一个相同属性的封面节点
CoverUpdate=1
;封面刷新模式;缺省为1
;=0:直接切换,不需要Cover1
;=1:插件自带渐变刷新,与CoverUpdateRate、CoverUpdateDuration配合
;=2:使用自定义刷新动作,与CoverUpdateAction配合使用
CoverUpdateRate=100
;封面刷新帧率,缺省为50FPS
CoverUpdateDuration=100
;封面切换时间,缺省为400,单位毫秒
CoverUpdateAction=[]
;自定义刷新动作
lrc_ctrl=lyricctrl
;单行歌词节点
lrc_ctrl1=lyricctrl1
;双行歌词节点1
lrc_ctrl2=lyricctrl2
;双行歌词节点2
OffSet=-50
;歌词偏移量,缺省为0,单位为10毫秒,即100为1秒;正值表示歌词延迟(前进),负值表示歌词提前(后退)
linage=0
;歌词行数,缺省为0
;=0:双行显示歌词
;=1:单行显示歌词
mode=0
;是否显示翻译,缺省为0
;=0:有翻译歌词时显示翻译
;=1:不显示翻译
DynamicVariables=1
;配合musicplayer插件使用时需要置1
UpdateDivider=1
;此measure负责刷新进度值,可直接用于Bar节点
;如不需要进度值可设-1
[Child]
Measure=Plugin
Plugin=Parent
ParentName=mLrc_Plugin
Type=Title
;返回歌曲详细信息,格式为:
;歌曲名(换行)描述信息(换行)专辑名(换行)歌手(换行)同名歌曲数
Type=albumNAME
;返回专辑名(字符串)以及同名歌曲编号(数值)
Type=name
;返回歌曲名,由于musicplayer插件根据字符'-'来拆分名称和歌手,若歌曲名中出现'-'则会拆分错误,所以使用API返回的名称
Type=artists
;返回歌手名,理由同上
Type=alias
;返回描述信息(字符串)以及同名歌曲编号(数值)
Type=songcnt
;返回同名同歌手的歌曲总数
Type=lyric
;返回单行歌词(字符串)以及歌词编号(数值)
Type=lyric1
;返回单行歌词(字符串)以及歌词编号(数值)
Type=lyric2
;返回单行歌词(字符串)以及歌词编号(数值)
Type=lyriccnt
;返回歌词总数