📥 MIDI 文件下載功能診斷

🔍 快速診斷

此工具幫助診斷下載功能的問題。按照步驟操作並查看詳細日誌。

Step 1: 選擇 MIDI 文件

Step 2: 分析並測試下載

📋 診斷日誌

✅ 檢查清單

🆘 常見問題

問題 1: 下載按鈕無反應

可能原因:

解決方案:

  1. 打開瀏覽器控制台(F12)
  2. 查看是否有紅色錯誤信息
  3. 運行此診斷工具
  4. 查看"診斷日誌"部分

問題 2: 下載的文件損壞

可能原因:

解決方案:

  1. 檢查緩衝區大小 > 100 字節
  2. 驗證 MIDI 頭部和軌道頭部
  3. 嘗試用不同的 MIDI 編輯器打開

問題 3: 下載頁面沒有彈出

可能原因:

解決方案:

  1. 檢查瀏覽器下載設置
  2. 允許此網站的彈出窗口
  3. 檢查下載文件夾是否可寫
  4. 嘗試不同的文件夾

🔧 技術詳情

下載流程

下載流程: 1. 獲取適配後的 MIDI 數據 2. 通過 midiDataToBuffer() 生成二進制緩衝區 3. 創建 Blob 對象 4. 使用 URL.createObjectURL() 創建下載鏈接 5. 通過 link.click() 觸發瀏覽器下載 6. 清理資源

檢查項

檢查項 說明 預期值
文件加載 MIDI 文件是否成功讀取 成功且無錯誤
解析結果 MIDI 格式和軌道數 Format 0/1, 1+ 軌道
音符數量 提取的音符個數 > 0
BPM 提取 是否成功讀取 BPM 顯示具體值(如120)
適配完成 轉調/八度調整是否完成 無錯誤,音符保留
緩衝區生成 MIDI 二進制數據 > 100 字節
Blob 創建 二進制對象 type=audio/midi
下載觸發 是否調用 click()

📚 資源