关于PyQt5的WebEngineView

论坛里面有没有熟悉这个模块的高手,能够帮我解决一下这个问题。

我正在开发一个Anki的插件,用来解决mdx词典支持的功能。

image

但是我自己没办法解决读音的播放,点击小喇叭后就会出现:
image

如果我能够得到linkclicked的信号,就可以查询mdd找到语音并传回数据并播放,但是查阅了文档也没有看到相关能够解决的办法。实在不行只能将html里面的链接替换并用js来处理了,js我也不熟悉,所以最好是能够在pyqt里面解决。有劳各位了。

这个需要自定义local scheme。 注册下sound到webengine里面

多谢帮助,解决了。

QMetaObject.invokeMethod(self, 'open', Q_ARG(QUrl, QUrl()))
QDesktopServices.setUrlHandler('sound', self, 'open')

这样就可以定制sound链接的打开方式了。

1 Like

这倒是一个新的方式。

1 Like

我现在可以实现播放了,但是还有一个问题,就是我现在从mdd里面传回的音频bytes,我需要写到硬盘上再将文件名设到MeidaContent里面,应该有办法直接播放的吧?

没用过这种方式,如果webengine设置了允许localfileaccess,应该可以播放。

这个问题暂时不管了,以后有时间再解决。暂时能简单使用就OK了。

多谢提供的帮助。

image