gpt4 book ai didi

c++ - 如何嵌入 YouTube 视频?

转载 作者:行者123 更新时间:2023-12-03 08:01:09 28 4
gpt4 key购买 nike

我正在尝试将 YouTube 视频嵌入到 QWebEngineView 小部件中,但是,视频未播放,我收到以下消息:

“在 YouTube 上观看视频”

5d3760b4-00b8-4513-a9f3-7ebdd76e2a9f-image.png

我尝试了不同的视频,但都遇到了相同的错误,我还尝试设置一些设置,例如:

    QWebEngineView* view = new QWebEngineView();
view->setHtml(R"(<iframe width="800" height="600" src="https://www.youtube.com/embed/TodEc77i4t4" title="Qt 6 - The Ultimate UX Development Platform" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>)");

view->settings()->setAttribute(QWebEngineSettings::PluginsEnabled, true);
view->settings()->setAttribute(QWebEngineSettings::FullScreenSupportEnabled, true);
view->settings()->setAttribute(QWebEngineSettings::AllowRunningInsecureContent, true);
view->settings()->setAttribute(QWebEngineSettings::SpatialNavigationEnabled, true);
view->settings()->setAttribute(QWebEngineSettings::JavascriptEnabled, true);
view->settings()->setAttribute(QWebEngineSettings::JavascriptCanOpenWindows, true);

view->show();

我缺少什么?

最佳答案

我没有使用HTML,我以这种方式进行测试,它向我显示了视频:

我在主窗口中添加此代码:


QWidget *wgt = new QWidget(this);
QGridLayout *gridLayout = new QGridLayout(wgt);

wgt->setStyleSheet(QString::fromUtf8("border: 1px solid black;\n"
"border-radius: 25px;background-color:black;"));
ui->centralwidget->layout()->addWidget(wgt);


QWebEngineView* view = new QWebEngineView(wgt);
view->setWindowTitle("Qt 6 - The Ultimate UX Development Platform");

view->setUrl(QUrl("https://www.youtube.com/embed/TodEc77i4t4"));

view->settings()->setAttribute(QWebEngineSettings::PluginsEnabled, true);
view->settings()->setAttribute(QWebEngineSettings::FullScreenSupportEnabled, true);
view->settings()->setAttribute(QWebEngineSettings::AllowRunningInsecureContent, true);
view->settings()->setAttribute(QWebEngineSettings::SpatialNavigationEnabled, true);
view->settings()->setAttribute(QWebEngineSettings::JavascriptEnabled, true);
view->settings()->setAttribute(QWebEngineSettings::JavascriptCanOpenWindows, true);

wgt->layout()->addWidget(view);

这是结果:

enter image description here

对于您的小部件的样式,请查看 Qt Style Sheets Reference ,它与CSS类似,你可以使用它。

例如,您可以添加以下内容:

    view->setStyleSheet(QString::fromUtf8("border: 1px solid black;\n"
"border-radius: 25px;"));

QWebEngineView 对象没有获取样式,因此我将其添加到帮助器小部件中并向其添加样式。

您可以从这里克隆它:

https://gitlab.com/ParisaHR/stackoverflow_qwebengineview

关于c++ - 如何嵌入 YouTube 视频?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74169933/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com