【问题标题】:Youtube embeded - play/pause playbackYoutube 嵌入 - 播放/暂停播放
【发布时间】:2015-03-20 17:50:21
【问题描述】:

我想使用 YouTube 嵌入并通过 JavaScript 控件使其播放/暂停。 我已经检查了 api documentation 但所有这些案例都是指您嵌入在您的网站上的 iframe,但我想使用原始 YouTube URL 而不是创建网页。

See use case here (picture)

使用的示例网址: https://www.youtube.com/embed/M7lc1UVf-VE?autohide=1&autoplay=1&enablejsapi=1

问题似乎是 iframe 没有 ID,所以我尝试了许多 JavaScript 命令,但播放器从不暂停或播放我的 Qt Pushbutton。

任何建议表示赞赏!

QString jsValue = "document.getElementById('ytplayer').pauseVideo();";
ui->webView->page()->mainFrame()->evaluateJavaScript(jsValue);

【问题讨论】:

  • 小问题:我可以使用 javascript 来播放/暂停这个视频吗? (使用 youtube 网站而不是嵌入它):youtube.com/embed/…
  • 为了激发讨论......将向任何可以提供帮助的人支付大约 1000 狗狗币!我相信这是可能的..

标签: javascript qt youtube embed


【解决方案1】:

找到解决方案!

YouTube 会生成一个您必须首先检索的唯一 ID

QWebElement player = ui->webView->page()->mainFrame()->documentElement().findFirst("div[id=\"player\"]");

QWebElement embed = player.findFirst("embed");

QString embedID = embed.attribute("id");
QString jsToExecute = QString("document.getElementById('%1').playVideo();").arg(embedID);
ui->webView->page()->mainFrame()->evaluateJavaScript(jsToExecute);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-02-03
    • 2012-10-06
    • 2014-04-22
    • 2014-08-02
    • 1970-01-01
    • 2013-08-16
    • 2018-12-03
    • 2013-08-09
    相关资源
    最近更新 更多