您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關易語言怎么通過計算替換字節實現酷狗音樂緩存文件轉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)) .子程序 __啟動窗口_將被銷毀 _刪除許可證 (許可證)
運行結果:
關于“易語言怎么通過計算替換字節實現酷狗音樂緩存文件轉MP3”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。