易语言通过计算替换字节实现酷狗音乐缓存文件转MP3的代码

DLL命令表

.版本 2
.DLL命令 创建线程_, 整数型, "kernel32", "CreateThread", , CreateThread建立新的线索
  .参数 lpThreadAttributes, 整数型, , 0
  .参数 dwStackSize, 整数型, , 0
  .参数 lpStartAddress, 子程序指针
  .参数 lpParameter, 整数型
  .参数 dwCreationFlags, 整数型, , 0
  .参数 lpThreadId, 整数型, , 线程ID
.DLL命令 _创建许可证, , "kernel32", "InitializeCriticalSection", , 创建许可证
  .参数 lpCriticalSection, 多线程许可证, 传址
.DLL命令 _删除许可证, , "kernel32", "DeleteCriticalSection", , 删除许可证
  .参数 lpCriticalSection, 多线程许可证, 传址
.DLL命令 _进入许可区, , "kernel32", "EnterCriticalSection", , 进入许可区
  .参数 lpCriticalSection, 多线程许可证, 传址
.DLL命令 _退出许可区, , "kernel32", "LeaveCriticalSection", , 退出许可区
  .参数 lpCriticalSection, 多线程许可证, 传址
.DLL命令 线程_挂起, 整数型, "kernel32", "SuspendThread"
  .参数 hThread, 整数型
.DLL命令 线程_恢复, 整数型, "kernel32", "ResumeThread"
  .参数 hThread, 整数型

自定义数据类型表

.版本 2
.数据类型 多线程许可证, 公开
  .成员 DebugInfo, 整数型
  .成员 LockCount, 整数型
  .成员 RecursionCount, 整数型
  .成员 OwningThread, 整数型
  .成员 LockSemaphore, 整数型
  .成员 SpinCount, 整数型

酷狗kgtemp转MP3的代码

.版本 2
.支持库 iext
.支持库 spec
.程序集 窗口程序集_启动窗口
.程序集变量 许可证, 多线程许可证
.程序集变量 线程数, 整数型
.程序集变量 handle, 整数型, , "0"
.程序集变量 是否暂停, 逻辑型
.程序集变量 是否停止, 逻辑型
.子程序 __启动窗口_创建完毕
路径编辑框.内容 = 取运行目录 () + “\mp3\”
_创建许可证 (许可证)
输出调试文本 (许可证.DebugInfo)
.子程序 _按钮生成_被单击
.局部变量 初始目录, 文本型
.局部变量 文件, 文本型
.局部变量 索引, 整数型
.局部变量 数值1, 文本型
.局部变量 i, 整数型
按钮开始.禁止 = 假
超级列表框1.表项 = { }
i = 0
初始目录 = 取运行目录 () + “\”
文件 = 寻找文件 (初始目录 + “*.kgtemp”, )
.循环判断首 ()
  .如果真 (文件是否存在 (初始目录 + 文件))
    i = i + 1
    索引 = 超级列表框1.插入表项 (, , , , , )
    超级列表框1.置标题 (索引, 0, 到文本 (i))
    超级列表框1.置标题 (索引, 1, 初始目录 + 文件)
    超级列表框1.置标题 (索引, 2, “待转”)
  .如果真结束
  文件 = 寻找文件 (, )
.循环判断尾 (文件 ≠ “”)
.子程序 _按钮开始_被单击
.如果真 (文件是否存在 (路径编辑框.内容) = 假)
  创建目录 (路径编辑框.内容)
.如果真结束
是否停止 = 假
按钮开始.禁止 = 真
按钮生成.禁止 = 真
按钮停止.禁止 = 假
按钮暂停.禁止 = 假
多线程启动 ()
按钮生成.禁止 = 假
按钮停止.禁止 = 真
按钮暂停.禁止 = 真
按钮开始.禁止 = 假
.子程序 单线程转换
.参数 表项, 整数型
.局部变量 文件路径, 文本型
.局部变量 文件名, 文本型
.局部变量 mp3, 字节集
文件路径 = 超级列表框1.取标题 (表项, 1)
文件名 = 取文本右边 (文件路径, 取文本长度 (文件路径) - 倒找文本 (文件路径, “\”, , 假))
mp3 = kgtemp转MP3 (文件路径)
.如果 (mp3 ≠ { })
  .如果 (写到文件 (路径编辑框.内容 + 文件名 + “.mp3”, mp3))
    超级列表框1.置标题 (表项, 2, “完成”)
  .否则
    超级列表框1.置标题 (表项, 2, “失败”)
  .如果结束
.否则
  超级列表框1.置标题 (表项, 2, “失败”)
.如果结束
超级列表框1.保证显示 (表项)
_进入许可区 (许可证)
线程数 = 线程数 - 1
_退出许可区 (许可证)
.子程序 多线程启动
.局部变量 数量, 整数型
.局部变量 i, 整数型
数量 = 超级列表框1.取表项数 ()
重定义数组 (handle, 假, 数量) ' 防止数组越界
.计次循环首 (数量, i)
  .如果真 (是否停止)
    跳出循环 ()
  .如果真结束
  .判断循环首 (是否暂停)
    延迟 (200) ' 如果单击了暂停按钮,程序就停在此处无限循环,直到单击恢复。
  .判断循环尾 ()
  创建线程_ (0, 0, &单线程转换, i - 1, 0, handle [i])
  超级列表框1.置标题 (i - 1, 2, “转换中”)
  _进入许可区 (许可证)
  线程数 = 线程数 + 1 ' 循环一次就让线程数增加1
  _退出许可区 (许可证)
  .判断循环首 (线程数 = 到整数 (编辑框线程数.内容))
    .如果真 (是否停止)
      跳出循环 ()
    .如果真结束
    延迟 (100) ' 延迟的目的是防止线程数超过设定数目。
  .判断循环尾 ()
.计次循环尾 ()
.子程序 _按钮暂停_被单击
.局部变量 cout, 整数型
.局部变量 i, 整数型
cout = 超级列表框1.取表项数 ()
.判断开始 (按钮暂停.标题 = “暂停”)
  是否暂停 = 真
  .计次循环首 (cout, i)
    线程_挂起 (handle [i])
  .计次循环尾 ()
  按钮暂停.标题 = “恢复”
.默认
  按钮暂停.标题 = “恢复”
  是否暂停 = 假
  .计次循环首 (cout, i)
    线程_恢复 (handle [i])
  .计次循环尾 ()
  按钮暂停.标题 = “暂停”
.判断结束
.子程序 _按钮停止_被单击
是否停止 = 真
按钮生成.禁止 = 真
.子程序 kgtemp转MP3, 字节集
.参数 文件路径, 文本型
.局部变量 key, 整数型, , "4"
.局部变量 文件号, 整数型
.局部变量 临时字节集文件, 字节集
.局部变量 临时字节集指针, 整数型
.局部变量 字节集长度, 整数型
.局部变量 计数, 整数型
.局部变量 i, 整数型
.局部变量 结果, 整数型
.局部变量 输出结果, 字节集
.局部变量 时间, 整数型
key [1] = 172
key [2] = 236
key [3] = 223
key [4] = 87
文件号 = 打开文件 (文件路径, , )
临时字节集文件 = 读入字节集 (文件号, 取文件长度 (文件号))
关闭文件 (文件号)
临时字节集文件 = 取字节集右边 (临时字节集文件, 取字节集长度 (临时字节集文件) - 1024)
临时字节集指针 = 取变量数据地址 (临时字节集文件)
字节集长度 = 取字节集长度 (临时字节集文件)
时间 = 取启动时间 ()
.计次循环首 (字节集长度, 计数)
  i = 计数 % 4
  .如果真 (i = 0)
    i = 4
  .如果真结束
  结果 = 位异或 (取低位 (临时字节集文件 [计数]), 取低位 (key [i]))
  结果 = 位或 (左移 (位异或 (取高位 (临时字节集文件 [计数]), 取高位 (key [i]), 结果), 4), 结果)
  写到内存 (取字节集左边 (到字节集 (结果), 1), 临时字节集指针 + 计数 - 1, 1)
.计次循环尾 ()
输出调试文本 (取启动时间 () - 时间)
返回 (临时字节集文件)
.子程序 MP3转kgtemp, 字节集
.参数 文件路径, 文本型
.局部变量 key, 整数型, , "4"
.局部变量 文件号, 整数型
.局部变量 临时字节集文件, 字节集
.局部变量 临时字节集指针, 整数型
.局部变量 字节集长度, 整数型
.局部变量 计数, 整数型
.局部变量 i, 整数型
.局部变量 结果, 整数型
.局部变量 输出结果, 字节集
.局部变量 时间, 整数型
key [1] = 172
key [2] = 236
key [3] = 223
key [4] = 87
文件号 = 打开文件 (文件路径, , )
临时字节集文件 = 读入字节集 (文件号, 取文件长度 (文件号))
关闭文件 (文件号)
临时字节集指针 = 取变量数据地址 (临时字节集文件)
字节集长度 = 取字节集长度 (临时字节集文件)
时间 = 取启动时间 ()
.计次循环首 (字节集长度, 计数)
  i = 计数 % 4
  .如果真 (i = 0)
    i = 4
  .如果真结束
  结果 = 位异或 (取高位 (临时字节集文件 [计数]), 取低位 (临时字节集文件 [计数]), 取高位 (key [i]))
  结果 = 位或 (左移 (结果, 4), 位异或 (取低位 (临时字节集文件 [计数]), 取低位 (key [i])))
  写到内存 (取字节集左边 (到字节集 (结果), 1), 临时字节集指针 + 计数 - 1, 1)
.计次循环尾 ()
输出调试文本 (取启动时间 () - 时间)
返回 (#head + 临时字节集文件)
.子程序 取高位, 整数型
.参数 待取整数, 整数型
返回 (右移 (待取整数, 4))
.子程序 取低位, 整数型
.参数 待取整数, 整数型
返回 (位与 (待取整数, 15))
.子程序 __启动窗口_将被销毁
_删除许可证 (许可证)

运行结果:

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。如果你想了解更多相关内容请查看下面相关链接

(0)

相关推荐

  • 易语言添加软件背景音乐的方法

    易语言软件如何添加背景音乐?计算机软件产业的蓬勃发展,造就了一批又一批的优秀程序猿(当然,笔者也在为了这个理想奋斗着).很多时候,看到别人的优秀软件,就想摩拳擦掌跃跃欲试的模仿一下.毕竟嘛,学会模仿,才能更好的创新.在使用软件的时候,有些软件运行以后,会自动播放音乐.这是怎么回事呢?也许别人和我们用的开发环境不同,但原理基本上都差不多! 1.首先,准备一下今天的"主角"-背景音乐.这里有必要给大家提个醒,易语言Windows窗口程序的背景音乐格式只支持wav.mid格式.因此像mp3.

  • 易语言通过解析免费下载QQ付费音乐的代码

    常量数据表 .版本 2 .常量 链接1, "<文本长度: 9>" .常量 链接2, "<文本长度: 2>" QQ付费音乐下载器 此功能配合精易模块5.6使用,需要加载模块. .版本 2 .支持库 downlib .支持库 iext .支持库 spec .支持库 shell .程序集 窗口程序集_启动窗口 .程序集变量 任务, 任务参数 .程序集变量 下载限速, 整数型 .程序集变量 下载对象, 下载对象 .子程序 _按钮1_被单击 .如果 (

  • 易语言酷我音乐三种格式无损下载地址解析源码

    DLL命令表 .版本 2 .DLL命令 CoInitialize, 整数型, "ole32.dll", , 公开, 初始化对象开始 .参数 pvReserved, 整数型, , 0 .DLL命令 CoUninitialize, 整数型, "ole32.dll", , 公开, 初始化对象结束 .DLL命令 ShellExecute, 整数型, "shell32.dll", "ShellExecuteA" .参数 hwnd, 整数

  • 易语言制作酷狗付费音乐解析下载工具

    常量数据表 .版本 2 .常量 常量2, "<文本长度: 7>", , "url":" .常量 常量1, "<文本长度: 1>", , " 酷狗音乐直链解析 歌曲哈希值在酷狗音乐属性里可以找到. .版本 2 .支持库 internet .程序集 窗口程序集1 .子程序 _解析按钮_被单击 编辑框_直链.内容 = 获取MP3地址 (编辑框_哈希值.内容) .子程序 获取MP3地址, 文本型 .参数 has

  • 易语言通过算法计算出酷狗音乐下载地址的代码

    酷狗直链计算的代码 此功能需要加载精易模块5.6 .版本 2 .支持库 RegEx .支持库 iext3 .支持库 dp1 .程序集 窗口程序集_启动窗口 .子程序 JSON转义字符解码, 文本型 .参数 解密文本, 文本型 .局部变量 正则表达, 正则表达式 .局部变量 搜索结果, 搜索结果, , "0" .局部变量 转换结果, 文本型 .局部变量 文本, 文本型 .局部变量 i, 整数型 文本 = 解密文本 .如果真 (文本 ≠ "") 正则表达.创建 (&qu

  • 易语言播放指定的音乐文件

    播放音乐命令 英文命令:PlayMusic 操作系统支持:Windows     所属类别:媒体播放 可以播放 .WAV..MID 声音文件或相应格式的字节集声音数据.声音资源.成功返回真,失败返回假. 语法:  逻辑型  播放音乐 (欲播放的音乐,[是否循环播放]) 例程: 说明: 选择一个以  .WAV  .MID 为后缀的文件,并将文件路径显示在编辑框中.通过返回值的判断弹出不同信息框. 运行结果: 总结 以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价

  • 易语言通过计算替换字节实现酷狗音乐缓存文件转MP3的代码

    DLL命令表 .版本 2 .DLL命令 创建线程_, 整数型, "kernel32", "CreateThread", , CreateThread建立新的线索 .参数 lpThreadAttributes, 整数型, , 0 .参数 dwStackSize, 整数型, , 0 .参数 lpStartAddress, 子程序指针 .参数 lpParameter, 整数型 .参数 dwCreationFlags, 整数型, , 0 .参数 lpThreadId, 整数

  • JS模拟酷狗音乐播放器收缩折叠关闭效果代码

    本文实例讲述了JS模拟酷狗音乐播放器收缩折叠关闭效果代码.分享给大家供大家参考,具体如下: 这是一款模拟酷狗音乐播放器的关闭特效,采用JavaScript实现,关闭的时候播放界面缩成一条线,然后消失,就像有些电视机突然停电的效果,很有意思的网页动画特效. 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/js-kugou-music-player-style-demo/ 具体代码如下: <!DOCTYPE html PUBLIC "-//W3

  • 酷狗去广告一键去除批处理代码

    酷狗去广告的原理大家可以网上找找,都大同小异,就是对如下几个配置文件下手 game.ini game.inicfg optionv5.ini optionv5.inicfg 我是狠了点,如下操作: 1.直接将这几个配置文件给删 了,然后创建与配置文件同名文件夹 2.再在新创建的配置文件同名文件夹下创建CON子文件夹,此步骤可保证去广告效果不反弹 3.删除名为"AD"的文件夹,创建一个同名的空白文件,设置其文档属性为只读 ====已去广告,若要视觉清爽,可将以上新建的文件或文件夹设为隐藏

  • Java swing仿酷狗音乐播放器

    今天给大家介绍下用Java swing开发一款音乐播放器,高仿酷狗音乐播放器,完整源码地址在最下方,本文只列出部分源码,因为源码很多,全部贴不下,下面还是老规矩.来看看运行结果: 下面我们来看看代码: 首先看一下主窗口的实现代码: package com.baiting; import java.awt.Dimension; import java.awt.Toolkit; import com.baiting.menu.CloseWindow; /** * 窗口 * @author lmq *

  • java实现酷狗音乐临时缓存文件转换为MP3文件的方法

    本文实例讲述了java实现酷狗音乐临时缓存文件转换为MP3文件的方法.分享给大家供大家参考,具体如下: 酷狗临时缓存文件,其实已经是吧MP3文件下载好了,只是名字看上去好像是通过md5算法重命名的. 酷狗在缓存文件的时候会同时缓存歌词.这个程序就是根据md5管理对应的歌词文件和缓存文件,然后把缓存文件改成 歌曲名+.mp3格式. 原谅我取这么长也不知道对不对的类名. package com.zhou.run; import java.io.File; import java.util.HashM

  • python获取酷狗音乐top500的下载地址 MP3格式

    下面先给大家介绍下python获取酷狗音乐top500的下载地址 MP3格式,具体代码如下所示: # -*- coding: utf-8 -*- # @Time : 2018/4/16 # @File : kugou_top500.py # @Software: PyCharm # @pyVer : python 2.7 import requests,json headers={ 'UserAgent' : 'Mozilla/5.0 (iPhone; CPU iPhone OS 5_0 lik

  • Vue 全家桶实现移动端酷狗音乐功能

    Vue 已经用了不少时间,最近抽空把以前的未完成的酷狗音乐做完了,过来分享下,也可以直接点这里预览,注意切换成手机模式. 技术栈: vue-router.eventBus.vuex.vue-awesome-swiper 整体功能 vs 酷狗官网: 总体模拟官网,原来的亮点保留,如: 图片懒加载 除此之外,增加了 加了全局的 Loading 组件,根据不同页面调整 Loading 尺寸 搜索页面做了优化,可以在刷新时保留之前的搜索结果 播放页面单独做了一个路由,可以在刷新时保留当前歌曲页面 播放器

  • python爬取酷狗音乐排行榜

    本文为大家分享了python爬取酷狗音乐排行榜的具体代码,供大家参考,具体内容如下 #coding=utf-8 from pymongo import MongoClient import time import requests from lxml import etree client = MongoClient() #连接mongo hello = client.hello #连接数据库 user = hello.song #连接表 headers = { 'User-Agent': 'M

  • python使用beautifulsoup4爬取酷狗音乐代码实例

    这篇文章主要介绍了python使用beautifulsoup4爬取酷狗音乐代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 小编经常在网上听一些音乐但是有一些网站好多音乐都是付费下载的正好我会点爬虫技术,空闲时间写了一份,截止4月底没有问题的,会下载到当前目录,只要按照bs4库就好, 安装方法:pip install beautifulsoup4 完整代码如下:双击就能直接运行 from bs4 import BeautifulSoup

  • Python爬虫实战项目掌握酷狗音乐的加密过程

    1.前言 小编在这里讲一下,下面的内容仅供学习参考,切莫用于商业活动,一经被相关人员发现,本小编概不负责!读者切记切记. 2.获取音乐播放列表 其实,这就是小编要讲的重点,因为就是这部分用到了加密. 我们在搜索栏上输入我们想听的音乐,小编输入:刺客 是不是看到了一系列音乐,怎样得到这些音乐的一些信息呢?(这里指的音乐信息是指音乐的hash值和音乐的album_id值[这两个参数在获取音乐的下载链接那里会用到],当然还包括音乐的名称[不然怎么区别呢?]). 由于这一系列音乐是动态加载出来的,也就是

随机推荐