我想使用PyQt5的QWebEngineView在网络上播放音频。这是我的代码:
import sys
from PyQt5 import QtWebEngineWidgets, QtWidgets
if __name__ == '__main__':
app = QtWidgets.QApplication([])
view = QtWebEngineWidgets.QWebEngineView()
view.settings().setAttribute(QtWebEngineWidgets.QWebEngineSettings.PluginsEnabled, True)
view.settings().setAttribute(QtWebEngineWidgets.QWebEngineSettings.JavascriptEnabled, True)
html = '''
<html>
<audio id="pron" src="http://static.sfdict.com/staticrep/dictaudio/A06/A0612000.mp3"></audio>
<button onclick="document.getElementById('pron').play()">Play!</button>
</html>'''
view.setHtml(html)
view.resize(250, 150)
view.move(300, 300)
view.show()
sys.exit(app.exec_())
但是,当我单击
Play
按钮时,音频无法播放。我怎么了 最佳答案
QWebEngineView doesn't support mp3 playback by default,至少在我测试过的Win7上。如果您将mp3网址更改为ogg一个(默认情况下,QWebEngineView支持ogg格式),例如
https://upload.wikimedia.org/wikipedia/commons/5/5a/Nl-URL%27s.ogg
那么您的示例将起作用!
当我搜索网络时,我发现启用mp3播放的唯一方法是编译我们自己的Qt网络引擎someone told me the way to do it,如下所示,
编译自己的Qt(包括QtWebEngine),然后编译PyQt和
调用其configure.py时,请使用--qmake将路径传递给
正确的qmake可执行文件。
如果有人有兴趣编译Qt Webengine,这些信息可能会有所帮助
How to compile Qt webengine (5.11) on Windows with proprietary codecs
Unable to get mp3 support with QtWebEngine