# process.mplayer 库模块帮助文档

## process 成员列表 <a id="process" href="#process">&#x23;</a>

### process.mplayer <a id="process.mplayer" href="#process.mplayer">&#x23;</a>
MPlayer 播放器组件，  
基于标准库 process.popen 实现管道调用 MPlayer 播放器。[MPlayer / slave  mode] http://www.mplayerhq.hu/DOCS/tech/slave.txt

创建播放器

### process.mplayer() <a id="process.mplayer" href="#process.mplayer">&#x23;</a>
[返回对象:processMplayerObject](#processMplayerObject)

### process.mplayer(播放器路径,输出窗口,默认视频路径,其他启动参数,... ) <a id="process.mplayer" href="#process.mplayer">&#x23;</a>
创建播放器  
参数@1 可省略，参数@2可指定窗口对象或 custom 控件对象，  
其他参数可选 - 启动参数用于process.popen

## processMplayerObject 成员列表 <a id="processMplayerObject" href="#processMplayerObject">&#x23;</a>

### processMplayerObject.core <a id="processMplayerObject.core" href="#processMplayerObject.core">&#x23;</a>
播放器管道对象，  
如果当前未打开播放器进程则返回 null，  
除了检测 null 值，不应直接使用此对象，  

[返回对象:processPopenObject](https://www.aardio.com/zh-cn/docs/library-reference/process/popen.html#processPopenObject)

### processMplayerObject.expect <a id="processMplayerObject.expect" href="#processMplayerObject.expect">&#x23;</a>
等待直到模式匹配成功,返回匹配结果,

### processMplayerObject.expect("模式表达式",超时,文本最大长度) <a id="processMplayerObject.expect" href="#processMplayerObject.expect">&#x23;</a>
超时参数是以毫秒为单位的估算值,可省略  
参数@3可省略，默认为1024

### processMplayerObject.frameStep() <a id="processMplayerObject.frameStep" href="#processMplayerObject.frameStep">&#x23;</a>
播放一帧

### processMplayerObject.fullscreen(是否全屏) <a id="processMplayerObject.fullscreen" href="#processMplayerObject.fullscreen">&#x23;</a>
设置全屏

### processMplayerObject.getFullscreen() <a id="processMplayerObject.getFullscreen" href="#processMplayerObject.getFullscreen">&#x23;</a>
当前是否全屏

### processMplayerObject.getPercentPos() <a id="processMplayerObject.getPercentPos" href="#processMplayerObject.getPercentPos">&#x23;</a>
返回播放进度  
百分比

### processMplayerObject.getProperty("字符串参数") <a id="processMplayerObject.getProperty" href="#processMplayerObject.getProperty">&#x23;</a>
获取属性值  
可选使用参数@2指定超时,默认为100毫秒,传入0表示禁用超时

### processMplayerObject.getProperty("属性名","属性值") <a id="processMplayerObject.getProperty" href="#processMplayerObject.getProperty">&#x23;</a>
修改属性值

### processMplayerObject.getResponse("模式表达式") <a id="processMplayerObject.getResponse" href="#processMplayerObject.getResponse">&#x23;</a>
获取格式输出

### processMplayerObject.getTimeLength() <a id="processMplayerObject.getTimeLength" href="#processMplayerObject.getTimeLength">&#x23;</a>
返回视频总长度

### processMplayerObject.getTimePos() <a id="processMplayerObject.getTimePos" href="#processMplayerObject.getTimePos">&#x23;</a>
返回当前播放位置  
视频播放结束返回null

### processMplayerObject.getVideoResolution() <a id="processMplayerObject.getVideoResolution" href="#processMplayerObject.getVideoResolution">&#x23;</a>
返回视频分辨率  
返回两个值

### processMplayerObject.isPaused() <a id="processMplayerObject.isPaused" href="#processMplayerObject.isPaused">&#x23;</a>
当前是否暂停状态

### processMplayerObject.isPlaying() <a id="processMplayerObject.isPlaying" href="#processMplayerObject.isPlaying">&#x23;</a>
当前是否播放状态,  
这需要发送查询指令，不必要在获取播放进度前调用这个函数，  
检测播放器进程是否已创建可以简单地检测 core 属性是否为 null

### processMplayerObject.keyDownEvent(虚拟键码) <a id="processMplayerObject.keyDownEvent" href="#processMplayerObject.keyDownEvent">&#x23;</a>
发送按键事件

### processMplayerObject.loadfile <a id="processMplayerObject.loadfile" href="#processMplayerObject.loadfile">&#x23;</a>
打开视频文件,成功返回 true，失败返回 nulll

### processMplayerObject.loadfile("视频文件",是否添加到播放列表) <a id="processMplayerObject.loadfile" href="#processMplayerObject.loadfile">&#x23;</a>
打开视频文件，  
成功返回 true，失败返回 nulll，  
不指定参数@1直接返回 null，  
参数@2默认为false

### processMplayerObject.pause() <a id="processMplayerObject.pause" href="#processMplayerObject.pause">&#x23;</a>
暂停。  
如果当前已暂停则取消暂停

### processMplayerObject.print("字符串参数") <a id="processMplayerObject.print" href="#processMplayerObject.print">&#x23;</a>
写入命令，支持一个或多个参数  
多个参数间添加空格,尾部添加换行

### processMplayerObject.printf("字符串参数") <a id="processMplayerObject.printf" href="#processMplayerObject.printf">&#x23;</a>
写入命令，  
调用string.format函数格式化参数,尾部添加换行

### processMplayerObject.quit() <a id="processMplayerObject.quit" href="#processMplayerObject.quit">&#x23;</a>
退出

退出

### processMplayerObject.seek <a id="processMplayerObject.seek" href="#processMplayerObject.seek">&#x23;</a>
移动到指定位置  
参数为相对当前位置的值

### processMplayerObject.seekPercent <a id="processMplayerObject.seekPercent" href="#processMplayerObject.seekPercent">&#x23;</a>
按百分比移动到指定位置

### processMplayerObject.seekSecond <a id="processMplayerObject.seekSecond" href="#processMplayerObject.seekSecond">&#x23;</a>
移动到指定位置

### processMplayerObject.setMousePos(x,y) <a id="processMplayerObject.setMousePos" href="#processMplayerObject.setMousePos">&#x23;</a>
发送鼠标位置，参数 x,y 为窗口坐标

### processMplayerObject.stop() <a id="processMplayerObject.stop" href="#processMplayerObject.stop">&#x23;</a>
停止播放

### processMplayerObject.subAlignment <a id="processMplayerObject.subAlignment" href="#processMplayerObject.subAlignment">&#x23;</a>
字幕对齐  
0 顶部对齐  
1 居中对齐  
2 底部对齐

### processMplayerObject.subDelay <a id="processMplayerObject.subDelay" href="#processMplayerObject.subDelay">&#x23;</a>
调整字幕偏移值

### processMplayerObject.subDelay(偏移值,是否绝对值) <a id="processMplayerObject.subDelay" href="#processMplayerObject.subDelay">&#x23;</a>
参数@2可省略

### processMplayerObject.subLoad <a id="processMplayerObject.subLoad" href="#processMplayerObject.subLoad">&#x23;</a>
添加字幕文件

### processMplayerObject.subLoad("字幕文件") <a id="processMplayerObject.subLoad" href="#processMplayerObject.subLoad">&#x23;</a>
添加字幕文件

### processMplayerObject.volume <a id="processMplayerObject.volume" href="#processMplayerObject.volume">&#x23;</a>
调整声音大小

### processMplayerObject.volume(音量,是否绝对值) <a id="processMplayerObject.volume" href="#processMplayerObject.volume">&#x23;</a>
参数@1为百分比  
参数@2请指定为true
