Mpv.net 修改版

  • 翻译 照抄 mpv官方文档的不靠谱汉化

  • 下载

  • 新的运行模式

    • 设置 - net专属 - process-instance - type
    • 设置 - net专属 - auto-load-folder - yes
    • 设置 - net专属 - only-load-same-type
      • type 同类型(音频视频)
      • ext 同后缀名
  • 关联图标

    • 数据目录(portable_config) 下 icon.conf 为定义图标的文件
    • 参考附带的文件自行修改
    • mpciconlib.dll某个mpc美化版的图标,暂时找不到作者…自定义的话可删除
    • 如不想自定义可批量替换 D:\OneDrive\Program\mpv.net\portable_config 为你的数据目录
    • 由于是自定义图标位置而没有官方的实现,所以很难自动生成.所以需要替换.
    • 修改完后 主界面-右键-工具-注册
      • 顺便说下我移除了注册的管理员权限
      • 普通权限用户也能注册,但也没提示了,点击就会注册
  • 新增命令 (lua脚本都能实现,可能有点多余)

    • 打开所在文件夹
      • script-message-to mpvnet show-in-folder
      • 默认菜单位置 文件 > 打开所在文件夹
      • 默认快捷键 ctrl+a
    • 切换音频设备
      • script-message-to mpvnet cycle-audio-device
      • 默认菜单位置 音频 > 切换音频设备
      • 有点小问题,自动模式下可能第一次要切换两次
    • 上个文件夹
      • script-message-to mpvnet prev-folder
      • 默认菜单位置 导航 > 上个文件夹
      • 默认快捷键 F6
    • 上个文件夹
      • script-message-to mpvnet next-folder
      • 默认菜单位置 导航 > 下个文件夹
      • 默认快捷键 F5
  • 其他修改

    • 移除官方版本在右键靠近下方时的屏蔽,目前应该所有位置都能右键.
  • 图标示例

  • 设置界面

挺不错的,不过不能像esay mpv那样直接调用mpv原版有点小遗憾

这倒不是问题
原版能实现的功能目前还没发现mpv net不支持的
你可以试试看看有什么mpv支持而net不支持的

有空学习一下,但是我真的不理解,很多播放器要搞这么复杂干嘛?
连新进程这种都要给人去设置,设置越多越好?
我的播放器,根本不给人设置的机会,我都给你设置好了。

开源的乐趣就在于自己有需求就自己实现
很多人的需求是极小众的,软件可能不会去考虑这些小众需求

mpv是个大圈子
mpv.net只是这个圈子里的一个小成员
圈子这么大的的原因之一大概也有因为它的复杂.

1 个赞

我同意你的说法,开源本身是一种高尚的行为,我个人也相当推崇,
但是不开源,也是作者的选择,比如我的播放器,
都是调用库的操作,而且代码超级乱,所以我觉得没什么好开源的。

process-instance auto-load-folder 打开所在文件夹 切换音频……这些都是mpv.net原版就有的啊
(注:打开文件夹 作者是运行powershell命令完成的

建议注明那些是你修改的,哪些是mpv.net原版对mpv的增强

process-instance auto-load-folder 那些是用来开启新的运行模式的步骤呀…
原版没type这个选项
原版的auto-load-folder开启后会自动把文件夹内的所有媒体文件(图片,音频视频)全加载进来
如图,我用原版打开一个视频,它把音频图片全加载进来了

我添加的运行模式就是只加载同类型的(也可以选同后缀名)

至于打开所在文件夹,切换音频设备(不是切换音轨,而是从耳机切换至音箱这种)之类
我在文档上没看见这些呀

刚上游更新更新了,我一时手贱点击了恢复…源码没有了.

文档总是滞后的,更不必说中文文档了…我是翻git commit看更新的

像运行模式,可以拆分出来pr,直接让mpv.net原版增强

这种不算集成…这就是原版mpv的run…
你甚至可以直接这样写
Ctrl+a run explorer /select, ${path}

这样的坏处是每调用一次都会打开个资源管理器
而且不支持第三方文件浏览器

你用这个测试再用EDGE或Chrome下载一个文件
然后在这样多调用几次就知道差别了…
它能在已经打开的窗口中直接定位到位置
在第三方文件浏览器如DO中
甚至可以在激活后台打开的标签然后定位…

运行模式代码太太丑了…
官方的版本的单实例是通过查找是否有同名进程.
而不是用 互斥锁 mutex…
如果是mutex我可以直接添加一个标识符

用进程名标识的话就麻烦了
我现在是直接在窗口标题最后加上指定字符
然后查找进程时再判断一下标题…
我甚至不知道如果在配置中修改标题是否会失效
这实在太太不优雅了,自己用用可以,实在没脸提pr…

而改用mutex的话改动就比较大了…

看了下,打开类型的增强算是个很不错的改进。不过我只把mpv/mpv.net用作视频播放器,这功能对我用处不大。

打开所在文件夹的功能实现确实优于目前类似功能的lua脚本,例如:locatefile.lua。这个代码如果不那么丑陋的话可以提个PR(

切换音频设备的功能我实现了一个更好的OSD交互式音频设备菜单的lua脚本:adevice-list.lua

就是简单的win32 api
支持与否好像是随机的…
全平台的chrome选择了支持
微软自家的VS不支持.
而它家的vsc又支持…

还在维护吗,官方发了小版本更新。