可以使用libmpv C/C++设置自定义键绑定吗?

uurity8g  于 2023-04-01  发布在  C/C++
关注(0)|答案(1)|浏览(112)

我使用libmpv作为我的Qt/c应用程序的视频播放器后端,我找不到任何方法来设置自定义键绑定,而不需要输入.conf文件,或者至少从终端使用lua脚本,这样我就可以通过mpv_command()发送它。
我寻找MPV_EVENTS的方式,但我只能接收鼠标事件。
我尝试使用Qt事件,但当然,如果用户触摸视频区域,Qt小部件不能保持焦点,因为嵌入的mpv实际上是另一个窗口。
我在文档中找不到从终端设置自定义键绑定的参数。
我在Google上找不到任何相关的东西!
我不想提供和维护一个完整的自定义mpv源代码的应用程序只是一个自定义的关键绑定。
在官方文档中,libmpv或命令行参数部分没有任何相关内容。我只找到了一种使用Lua“mp.add_key_binding()”制作插件的方法,但没有使用纯c/c
libmpv库的方法。
有什么我错过了,或者现在唯一的办法是修改mpv源代码?
对不起,如果我不够清楚,我不是一个Maven说英语,但感谢您的耐心!

mec1mxoz

mec1mxoz1#

如果你只是简单地将原生mpv窗口嵌入到你自己的窗口中,你可以做的并不多。input.conf或lua脚本是一种方法。
如果你想要真正的定制可能性,你想做的是使用呈现API,在render.h中有文档记录。
你需要保留你自己的OpenGL上下文,并使用API函数渲染到它。然后你控制窗口,并可以做任何你想做的事情。如何做到这一点是一个太大的范围为这个答案,但在头部的文档解释得很好。
由于这只是一个渲染API,因此不会有默认的键绑定。或者任何输入功能,真的。你必须自己实现这一切。同样,如何使用OpenGL + Qt来实现这一点对于这个答案来说太大了。

相关问题