为mpv写一个简单的图形界面
文章目录
缘起
几个月前给朋友推荐过mpv,朋友非技术人员,而mpv只提供命令行工具,没有图形界面,周末下午逛github看到Gooey,觉得简单有趣,决定用它给mpv写一个简单的图形界面
需求
需求很简单,通过点击桌面图标,之后选择电影文件,就能播放,而不需要使用图形界面,这应该是大多非技术用户习惯的操作。
一些介绍
mpv
mac下常见播放器有QuickTime,MplayerX,VLC。我之前用MplayerX居多,mpv 是 Mplayer 和 Mplayer2 项目的分支,目前活跃的开发者都转向开发 mpv。mpv基本可以满足一般用户的需要
mac下不同播放器的比较参考这里
Gooey
Turn (almost) any Python command line program into a full GUI application with one line
Gooey能轻易地把python命令行工具变为GUI应用,通过极少的代码
安装
mpv
|
|
使用:mpv /your/folder/yourfile.mp4
mpv在mac目前没有图形界面
Gooey
pip install Gooey //需要在sudo pip下安装,wxpython要求比较多,virtuanenv下比较麻烦,具体可以参考wxPythonVirtualenvOnMac
依赖wxpython
,安装wxpython
|
|
上源码
cat mpv_gui.py
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
#!/usr/bin/env python # encoding: utf-8 #import argparse from gooey import Gooey, GooeyParser import subprocess import sys def handle(args): filename = args.filename # 播放,调用系统服务(mpv) mpv = "/usr/local/bin/mpv" # todo:变为独立进程 subprocess.Popen([mpv,filename]) @Gooey(language="chinese") def main(): parser = GooeyParser(description=u'mpv_gui') parser.add_argument('filename', help=u"请选择电影文件", widget='FileChooser') args = parser.parse_args() handle(args) if __name__ == '__main__': main() |
点击执行
|
|
之后点击mpv_gui文件即可选择播放电影
如果你想把这个工具打包成无依赖的系统软件,可以试试pyinstaller
todo
Gooey安装不方便,文件选择用tkinter的tkFileDialog就好了
|
|
后记
后来发现可以直接安装mpv.app,之后绑定格式和播放工具 (参考 全能高效的播放器 mpv)
1 2 |
brew install mpv --with-bundle brew linkapps mpv |
文章作者 种瓜
上次更新 2016-07-31