二點之間不斷重覆 mpv播放器
現在,您也有機會體驗思緒和聲音不斷侵入腦袋,MPV播放器是您的好選擇,它可以外掛腳本,好讓您設定歌曲的AB點循環播放!不是全首喔,是中間隨喜好設定二個端點並在之間不斷重覆

重覆的困擾

聽說這情況會不斷重覆:

半夜睡不著覺,身體累了,腦袋卻不肯休息,白天的片段不連貫,一段又一段的反覆出現。有以下勸說:就好好休息啊, 別想太多 ,快去運動。可惜,這就好像叫人到大海邊去阻止海浪朵朵開花一樣,無力辨到,思緒也如此這般 襲擊 上岸,擋不住的。

重覆的好處

現在,您也有機會體驗思緒和聲音不斷侵入腦袋,MPV播放器是您的好選擇,它可以外掛 腳本 ,好讓您設定歌曲的AB點循環播放!不是全首喔,是中間隨喜好設定二個端點並在之間不斷重覆,直到你關掉為止。除此之外,這功能可以用在重覆練習,比如練習 唱詩歌 的一小段、英文會話的幾句話、爸媽嘮叨的其中一句…等等,一定可以聽到在腦子裡盤旋不已。

操作簡便

舉練歌來說,播放器沒有外掛這功能以前,我們要記得想要的片段在幾分幾秒,然後自己瞄得老半天的去按時間橫軸,還不是每次都按得準,無形中損失了不少零碎的時間。

現在,您只要聽到片段開始的地方,優雅地按下a鍵設定起始,聽到結束的地方,愉快地按下b鍵,播放器就自動重覆播放您選的這一小段,直到您 受不了 滿足地按下z鍵為止。

外掛.lua腳本

  1. ~/.config/mpv/scripts目錄建立ab_loop.lua腳本,若沒目錄的話自行建立:
mkdir -p ~/.config/mpv/scripts
vim ~/.config/mpv/scripts/ab_loop.lua

mkdir建立目錄,-p建立目錄時遞迴建立父目錄

vim編輯ab_loop.lua,若沒有該檔會自動建立新檔

  1. 輸入以下程式碼:
-- ~/.config/mpv/scripts/ab_loop.lua

local mp = require 'mp'
local a_pos = nil
local b_pos = nil
local loop_active = false

local function show_message(msg)
    mp.osd_message(msg, 2)
end

local function set_a()
    a_pos = mp.get_property_number("time-pos")
    if b_pos and a_pos >= b_pos then
        show_message("A 點不能大於或等於 B 點")
        a_pos = nil
        return
    end
    loop_active = (a_pos and b_pos)
    show_message("設定 A 點: " .. string.format("%.2f", a_pos) .. " 秒")
end

local function set_b()
    b_pos = mp.get_property_number("time-pos")
    if a_pos and b_pos <= a_pos then
        show_message("B 點不能小於或等於 A 點")
        b_pos = nil
        return
    end
    loop_active = (a_pos and b_pos)
    show_message("設定 B 點: " .. string.format("%.2f", b_pos) .. " 秒")
end

local function reset_ab()
    a_pos = nil
    b_pos = nil
    loop_active = false
    show_message("取消 AB 循環")
end

mp.observe_property("time-pos", "number", function(name, value)
    if loop_active and a_pos and b_pos and value then
        if value >= b_pos then
            mp.set_property_number("time-pos", a_pos)
        end
    end
end)

mp.add_key_binding("a", "set_a_point", set_a)
mp.add_key_binding("b", "set_b_point", set_b)
mp.add_key_binding("z", "reset_ab_loop", reset_ab)
  1. 腳本的最後已直接綁 key,所以不用到~/.config/mpv/input.conf去設定按鍵a、b、z的功能

使用畫面

(按下a鍵,顯示設定起始點A)"
(按下a鍵,顯示設定起始點A)"
(按下b鍵,顯示設定結束點B)"
(按下b鍵,顯示設定結束點B)"
(按下z鍵,顯示取消循環播放)"
(按下z鍵,顯示取消循環播放)"

📢 獨家腳本

我向AI要腳本的來源,結果她回答我:這是客製化的,同時把各個來源傳給我。原來,我的需求是綜合各個高手的智慧,所以,達則兼濟天下,請大家好好使用吧!

客製化功能

  • 顯示 A/B 點提示訊息

  • 支援按鍵切換與重置

  • 保持 User Interface 簡單直覺

  • 未設定 A/B 時:按 a → 設 A,再按 a → 設 B,自動循環

  • 按 z 取消循環

各家優勢

📣 目前只有Linux作業系統上的mpv可以自由地擴充許多腳本!

🥇1. MPV(目前使用的)

  • ✅ 完全開源、極度輕量
  • ✅ 可用 Lua 腳本自訂 幾乎任何行為
  • ✅ 支援 AB 循環、快捷鍵綁定、提示顯示、OSC 視覺控制
  • ✅ 支援 CLI、GUI(如 Celluloid、mpv.net、IINA)
  • ⚠️ 缺點:對新手來說入門門檻高

🥈2. VLC media player

  • ✅ 支援 AB 重播(選單上就有 A → B 重播)
  • ✅ 跨平台、開源、功能齊全
  • ✅ GUI 易用、還支援錄音、串流等
  • 不能自訂快捷鍵做 AB 控制,也無法顯示目前 A/B 點提示
  • ❌ 腳本功能不如 mpv 靈活(LUA 支援也有限)

👉 適合需要 AB 循環但不想寫程式的用戶


🥉3. PotPlayer(Windows 專用)

  • ✅ 功能極強大,支援 AB 循環、快捷鍵自訂、截圖、錄音
  • ✅ 可設定 AB 區間顯示提示
  • ❌ 專有軟體,非開源
  • ❌ 僅支援 Windows(但對 Windows 使用者來說功能媲美 mpv)

👉 適合進階 Windows 用戶,尤其需要精準剪輯音訊/影像者


⭐ 4. IINA(macOS 專用 GUI,底層用 mpv)

  • ✅ 支援 mpv 的所有功能 + Mac 原生圖形介面
  • ✅ 同樣可以支援 AB 循環、快捷鍵、腳本
  • ✅ OSD 提示等可視化非常優美
  • ❌ 僅限 macOS

👉 對Mac 使用者來說,這是 mpv 的最美 GUI 版本


上次修改於 2025-08-06