我想使用YouTube嵌入并使用JavaScript控件播放/暂停。 我检查了api documentation 但是,所有这些案例都指的是您嵌入您的网站的iframe,但我想使用原始的YouTube网址,而不是创建网页。
使用的示例网址: 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);
答案 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);