QWebView with YouTube

QWebView with YouTube

本文关键字:YouTube with QWebView      更新时间:2023-10-16

在我的程序中,我有一个显示YouTube视频的QWebView。我使用的代码在过去对我来说运行得很好,但有一天我发现它不再工作了。我安装了Flash,其他网站(谷歌)的加载也很好。这是我的代码:

QNetworkProxyFactory::setUseSystemConfiguration(true);
QWebSettings::globalSettings()->setAttribute(QWebSettings::PluginsEnabled, true);
ui->webView->load(QUrl("https://www.youtube.com/embed/abakM9O_Bos"));
ui->webView->setEnabled(true);

有人能解释一下为什么这在过去对我有用,但现在不行了吗?我尝试了http和https,但没有成功。

我要研究的内容:

  • 其他视频网站工作吗?(例如Vimeo)
  • 你是通过flash还是HTML5观看YouTube视频
  • 你能通过进入其中一个flash测试页面来确认你的web视图正在加载你的flash插件吗
  • 它是否适用于Qt网络浏览器示例项目

如果这些都没有给你指明正确的方向,我肯定会考虑使用QtWebEngine。QtWebEngine是使用Chromium平台构建的,能够很好地处理复杂的网页。我还注意到,QtWebEngine明显比旧的基于QtWebKit的小部件更快、更稳定。此外,QtWebKit将不再更新,因此如果您正在构建一个新的应用程序,最好从更新的系统开始。希望这能有所帮助!

更新总结一下评论中的内容:

  • 这可能是HTML5的问题,QtWebKit没有内置H.264编解码器
  • 因此,您需要将应用程序与所需的编解码器一起发货。具体来说,我建议使用ffmpeg(ffmpegsumo.dll),因为这就是Chrome所使用的