iT邦幫忙

2026 iThome 鐵人賽

DAY 19
0
ChatGPT & Codex

我的音樂不該被平台綁架:30 天用 ChatGPT × Codex 打造跨平台 Music Recap系列 第 28 篇

# Day28 | 讓回顧、測量與實驗從同一個入口啟動

  • 分享至 

  • xImage
  •  

前面幾篇把資料匯入、比較、問答與報告接了起來,今天我把這些功能整理成正式整合版 1.2.0。現在解壓縮後,雙擊 Start-Music-Recap.cmd,就能啟動回顧工作室與播放測量,再從畫面進入虛擬七天實驗。這是我很期待完成的一步:研究成果終於有了一個可以日常使用、也可以交給別人的入口。

這次我和 ChatGPT、Codex 協作的重點,是從使用者拿到壓縮包的那一刻開始思考。第一次打開要看見什麼?資料要放在哪裡?保存的報告下次要怎麼找回來?把這些問題接好,程式才會成為一個完整產品。

一次啟動,沿著畫面完成操作

正式版以 Windows 為交付環境,使用 Python 3.11 以上的標準函式庫。啟動器整理好服務與資料設定,回顧工作室位於本機 8770 埠,播放測量位於 8788 埠,兩個頁面都有通往彼此的入口。

第一次啟動會進入空工作室,我可以選擇匯入自己的資料,或先打開示範熟悉操作。虛擬實驗在安裝時核對檔案雜湊,再接入相同操作路徑。私人原件與快照另存在私人資料目錄,程式包則保留執行所需的來源與文件。這樣重新下載程式或搬動資料時,各自的用途很清楚。

入口 我用它完成的事情
回顧工作室 選持有人、月份與藝人,閱讀統計、比較與問答
播放測量 連線擴充功能、管理紀錄,保存回顧快照
虛擬七天實驗 切換觀測者、日期與比較方式,練習完整操作

啟動器也會核對既有服務的版本、工作室與身分。再次開啟時,可以接回自己的服務;停止時,則依相同身分處理這次管理的程序。這讓開啟、重複開啟與關閉都有一致的流程。

到真正的音樂頁面驗證播放器

播放秒數是這次產品新增的重要能力。我把擴充功能載入 Edge,連接本機測量服務,再到 YouTube Music 實際操作播放器。這輪採用「短段校驗」資料類別,完整留下 1,250 個樣本,讓測量規則可以對照網站上的實際行為。

我驗證了播放、暫停、靜音、廣告、跳轉與換曲,也把歌曲自然結束和同曲重播走完。整輪包含兩個歌曲 ID、三段播放區段;前兩段是同一首歌的兩次播放,各有獨立區段身分。自然完成的端點資訊讓程式接住上一輪,再辨認下一輪重播。

第一輪在暫停事件中收到播放器的完成旗標,第二輪也收到原生結束事件。歌曲長度由 232,000 精化為 232,361 毫秒時,程式沿用同一輪播放,並以更新後的長度計算門檻。這些細節讓「一首歌播完再播一次」成為可以追溯的兩次紀錄。

計時本身也有可以檢查的步驟。第一個樣本建立起點,接著對照同一區段相鄰樣本的經過時間與播放器進度,確認兩者的差異符合規則,再取較小值加計。當播放狀態或來源改變時,新的樣本重新建立對照。原始狀態和加計結果一起保存,所以我可以查到哪一段累積了時間,哪一個操作讓小計停下來。

131 個廣告樣本與 52 個靜音樣本都依規則保留,播放小計維持原值。第三段播放中,我暫停後向前跳過一大段,跳轉本身增加的播放毫秒為零。返回首頁時,播放器仍保留原曲的來源 ID 與暫停狀態。畫面變動、播放狀態與來源身分,在這次校驗裡成功對上。

把測量結果接回正式報告

校驗的三段事件輸出分別為 178,324、231,395 與 26,997 毫秒,合計 436,716 毫秒。前兩段通過本機播放門檻,第三段保留為低於門檻的區段。原始小數精度與整數化方式也跟著保存,之後可以逐段核對加總。

在測量頁按下「保存已接收資料的回顧快照」,我選定資料類別、持有人、月份與藝人,產品就會凍結已接收的原始前綴,核對來源與衍生紀錄,再送進正式匯入及報告流程。這次三筆校驗事件有清楚的校驗標示,JSON、CSV 與 HTML 都沿用相同事實。

我也實際下載 JSON 與 CSV,確認下載內容和服務輸出一致。測量停止後,最後一筆停止紀錄被保存,佇列完整送達;再次停止仍保持相同結果。整個流程從播放器一路走到可攜報告,已經接通。

換個資料位置,繼續使用同一份成果

我另外把私人資料複製到新位置,走過啟動、保存、下載與還原。13 項搬移檢查涵蓋原始紀錄、連線碼、證據、比較設定與快照,確認資料內容保留;還原後的 HTML、JSON、CSV 也與原件逐位元組一致。

對下一個使用者而言,這代表開始使用和日後維護都找得到路徑。程式版本可以核對,資料位置可以指定,報告可以另外保存;重新啟動後,再接回同一個工作室。操作文件把這些步驟依順序放好,我自己也能照著重走一次。

正式發行包包含 450 個檔案,附有 manifest 與核對工具。檔案一致性檢查可以確認拿到的版本,操作說明則帶使用者找到下一步。至此,回顧、測量、實驗、匯出與恢復都有可執行入口。我對這次整合很滿意,下一篇就直接沿著畫面,帶大家完成一次完整操作。


上一篇
# Day27 | 讓月份、藝人與比較集合一起即時更新
下一篇
# Day29 | 沿著畫面完成回顧與七日比較
系列文
我的音樂不該被平台綁架:30 天用 ChatGPT × Codex 打造跨平台 Music Recap 共 30 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言