Youtube嵌入 - 播放/暂停播放

时间:2015-01-22 02:15:06

标签: javascript qt youtube embed

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

See use case here (picture)

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

问题似乎是iframe没有ID,所以我尝试了很多JavaScript命令,但玩家从不停顿或玩我的Qt按钮。

任何建议表示赞赏!

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

1 个答案:

答案 0 :(得分:0)

找到解决方案!

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);