Skip to content

伪 GUI 模式

本节介绍 mpv 的伪 GUI 模式,提供类似图形界面的播放体验。

基本配置

启用伪 GUI 模式

bash
# 启用伪 GUI 模式
player-operation-mode=pseudo-gui

# 禁用伪 GUI 模式
player-operation-mode=player

伪 GUI 特性

  • 窗口关闭时暂停而不是退出
  • 启动时自动显示 OSC
  • 支持拖放文件
  • 支持文件关联

伪 GUI 配置

窗口配置

bash
# 窗口标题
title="${media-title}"

# 窗口大小
geometry=1280x720

# 窗口位置
geometry=50%:50%

# 窗口边框
border=yes

# 窗口置顶
ontop=no

OSC 配置

bash
# 启用 OSC
osc=yes

# OSC 样式
script-opts=osc-layout=bottombar
script-opts=osc-deadzonesize=0
script-opts=osc-minmousemove=3

自动行为

bash
# 启动时自动播放
pause=no

# 窗口关闭时暂停
keep-open=yes

# 播放结束后保持窗口
keep-open-pause=no

伪 GUI 快捷键

窗口控制

快捷键功能
f切换全屏
ESC退出全屏
T切换窗口置顶
q暂停播放
Q退出播放器

播放控制

快捷键功能
Space暂停/继续
/ 快退/快进
/ 快退/快进 1 分钟
Enter下一个文件

伪 GUI 脚本

Lua 脚本示例

lua
-- 伪 GUI 模式脚本
local mp = require 'mp'

-- 窗口关闭时暂停
mp.register_event('shutdown', function()
    if mp.get_property('player-operation-mode') == 'pseudo-gui' then
        mp.set_property('pause', 'yes')
        mp.command('stop')
    end
end)

-- 拖放文件支持
mp.register_event('file-loaded', function()
    if mp.get_property('player-operation-mode') == 'pseudo-gui' then
        mp.osd_message('文件已加载')
    end
end)

JavaScript 脚本示例

javascript
// 伪 GUI 模式脚本
mp.register_event('shutdown', function() {
    if (mp.get_property('player-operation-mode') === 'pseudo-gui') {
        mp.set_property('pause', 'yes');
        mp.command('stop');
    }
});

伪 GUI 主题

自定义 OSC 样式

bash
# OSC 布局
script-opts=osc-layout=bottombar

# OSC 颜色
script-opts=osc-seekbarstyle=bar
script-opts=osc-deadzonesize=0
script-opts=osc-minmousemove=3

自定义窗口样式

bash
# 窗口透明度
alpha=no

# 窗口背景
background-color="#000000"

# 窗口图标
icon=/path/to/icon.png

伪 GUI 配置文件

完整配置示例

bash
# ~/.config/mpv/mpv.conf

# 伪 GUI 模式
player-operation-mode=pseudo-gui

# 窗口设置
geometry=1280x720
border=yes
ontop=no

# OSC 设置
osc=yes
script-opts=osc-layout=bottombar

# 播放设置
pause=no
keep-open=yes

# 视频设置
vo=gpu
hwdec=auto

# 音频设置
ao=auto
volume=80

Windows 配置

bash
# Windows 特定配置
player-operation-mode=pseudo-gui
ao=wasapi
vo=gpu
hwdec=d3d11va

macOS 配置

bash
# macOS 特定配置
player-operation-mode=pseudo-gui
ao=coreaudio
vo=gpu
hwdec=videotoolbox

Linux 配置

bash
# Linux 特定配置
player-operation-mode=pseudo-gui
ao=pulse
vo=gpu
hwdec=auto

伪 GUI 故障排除

常见问题

  1. 窗口关闭时退出

    • 确保启用伪 GUI 模式:player-operation-mode=pseudo-gui
    • 确保启用 keep-open=yes
  2. OSC 不显示

    • 确保启用 OSC:osc=yes
    • 检查 OSC 配置:script-opts=osc-layout=bottombar
  3. 拖放不工作

    • 确保文件关联正确配置
    • 检查系统文件关联设置

调试命令

bash
# 显示伪 GUI 信息
mpv --msg-level=all=v video.mp4

# 显示 OSC 信息
mpv --script-opts=osc-debug=yes video.mp4

下一步