Skip to content

命令接口

本节介绍 mpv 的命令系统详解。

命令系统

命令格式

bash
# 命令格式
command argument1 argument2

# 示例
set volume 80
seek 10
cycle pause

命令类型

bash
# 设置命令
set property value

# 增加命令
add property value

# 循环命令
cycle property

# 命令命令
command arg1 arg2

命令接口

输入配置

bash
# 输入配置文件
input-conf=~/.config/mpv/input.conf

# 命令绑定
key command

命令绑定

bash
# 键盘绑定
SPACE cycle pause
RIGHT seek 10
LEFT seek -10

# 鼠标绑定
MBTN_LEFT cycle pause
MBTN_RIGHT show-text ${media-title}

# 遥控器绑定
PLAY cycle pause
STOP stop

命令参数

参数类型

bash
# 字符串参数
set title "My Player"

# 数值参数
set volume 80

# 布尔参数
set pause yes

# 列表参数
set video-aspect 16:9

参数变量

bash
# 属性变量
show-text ${media-title}
show-text ${time-pos}

# 环境变量
show-text ${HOME}

命令执行

交互式命令

bash
# 交互式命令
cycle pause
set volume 80
seek 10

脚本命令

bash
# 脚本命令
script-message command arg1 arg2
script-message-to script-name command arg1

命令文件

bash
# 命令文件
input-file=commands.conf

命令调试

调试信息

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

# 测试命令
mpv --input-test video.mp4

命令测试

bash
# 测试命令
set volume 80
seek 10
cycle pause

命令脚本

Lua 脚本命令

lua
-- 执行命令
mp.command('set volume 80')
mp.command('seek 10')

-- 命令参数
mp.commandv('set', 'volume', 80)
mp.commandv('seek', 10)

JavaScript 脚本命令

javascript
// 执行命令
mp.command('set volume 80');
mp.command('seek 10');

// 命令参数
mp.commandv('set', 'volume', 80);
mp.commandv('seek', 10);

命令故障排除

常见问题

  1. 命令不执行

    • 检查命令语法
    • 检查输入配置
  2. 命令参数错误

    • 检查参数类型
    • 检查参数值
  3. 命令绑定冲突

    • 检查绑定配置
    • 解除冲突绑定

调试命令

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

# 测试命令
mpv --input-test video.mp4

下一步