我有基本的 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 显示了以下结果:

我应该怎么做才能在我的应用中提供以下功能:
  • 媒体源扩展 MSE
  • MSE & H.264
  • MSE 和 Web VP9
  • 最佳答案

    这可能是 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/

    10-13 09:16