我有基本的 WebView 项目和 Qt SDK 5.3.2。我试过浏览几个 youtube 视频。实际上,仅播放音频。但视频,没有。
只有黑屏可见:
import QtQuick 2.3
import QtQuick.Controls 1.2
import QtQuick.Layouts 1.1
import QtWebKit 3.0
import QtWebKit.experimental 1.0
ScrollView {
anchors.fill: parent
WebView {
id: webview
anchors.fill: parent
url: "https://www.youtube.com/"
experimental.preferences.pluginsEnabled: true
onNavigationRequested: {
request.action = WebView.AcceptRequest;
}
}
}
在发现一些帮助后,我找到了一种测试加载页面的方法:
url: "http://www.youtube.com/html5"
这个 URL 显示了以下结果:
我应该怎么做才能在我的应用中提供以下功能:
最佳答案
这可能是 Qtwebkit 的问题,现在 QT 不支持 Qtwebkit,所以我认为最好转移到 QTwebengine ,这是 webengine 代码的示例。 web引擎初始化部分如下
int main(int argc, char *argv[])
{
QGuiApplication app(argc, argv);
QtWebEngine::initialize();
QQmlApplicationEngine engine;
engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
return app.exec();
}
加载网页的 Qml 部分是
import QtQuick 2.0
import QtQuick.Window 2.0
import QtWebEngine 1.0
Window {
width: 1024
height: 750
visible: true
WebEngineView {
anchors.fill: parent
url: "http://www.qt.io"
}
}
请参阅此链接了解更多详情
http://doc.qt.io/qt-5/qtwebengine-webengine-minimal-example.html
MSE 将从 QT 5.5 版本开始支持,可以通过在构建 Qt WebEngine 时将以下选项传递给 qmake 来启用专有编解码器:
qmake WEBENGINE_CONFIG+=use_proprietary_codecs
关于macos - Qt 5.3.2 QtQuick QML 应用程序不播放 YouTube 视频,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27130295/