我希望能够控制基于iframe的YouTube播放器.这些播放器已经在HTML中,但我想通过JavaScript API控制它们.
我一直在阅读iframe API的文档,该文档解释了如何使用API向页面添加新视频,然后使用YouTube播放器功能控制它:
var player;
function onYouTubePlayerAPIReady() {
player = new YT.Player('container', {
height: '390',
width: '640',
videoId: 'u1zgFlCw8Aw',
events: {
'onReady': onPlayerReady,
'onStateChange': onPlayerStateChange
}
});
}
Run Code Online (Sandbox Code Playgroud)
该代码创建一个新的播放器对象并将其分配给"播放器",然后将其插入#container div中.然后,我可以在"播放器"和呼叫操作playVideo(),pauseVideo()就可以了,等等.
但我希望能够对已经在页面上的iframe播放器进行操作.
我可以使用旧的嵌入方法很容易地做到这一点,例如:
player = getElementById('whateverID');
player.playVideo();
Run Code Online (Sandbox Code Playgroud)
但这不适用于新的iframe.如何在页面上分配iframe对象,然后在其上使用API函数?
我有一个隐藏的div包含一个YouTube视频<iframe>.当用户点击链接时,该div变为可见,然后用户应该能够播放视频.
当用户关闭面板时,视频应停止播放.我怎样才能做到这一点?
码:
<!-- link to open popupVid -->
<p><a href="javascript:;" onClick="document.getElementById('popupVid').style.display='';">Click here</a> to see my presenting showreel, to give you an idea of my style - usually described as authoritative, affable and and engaging.</p>
<!-- popup and contents -->
<div id="popupVid" style="position:absolute;left:0px;top:87px;width:500px;background-color:#D05F27;height:auto;display:none;z-index:200;">
<iframe width="500" height="315" src="http://www.youtube.com/embed/T39hYJAwR40" frameborder="0" allowfullscreen></iframe>
<br /><br />
<a href="javascript:;" onClick="document.getElementById('popupVid').style.display='none';">
close
</a>
</div><!--end of popupVid -->
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用Youtube API从特定频道中提取所有视频.我在Google Developers Console中设置了该项目并获得了API浏览器密钥.我启用了YouTube Data API v3,为了安全起见,我启用了YouTube Analytics API.
我不知道我得到了这个错误.谁能帮我.
{
"error": {
"errors": [
{
"domain": "usageLimits",
"reason": "accessNotConfigured",
"message": "Access Not Configured. Please use Google Developers Console to activate the API for your project."
}
],
"code": 403,
"message": "Access Not Configured. Please use Google Developers Console to activate the API for your project."
}
}
Run Code Online (Sandbox Code Playgroud)
代码我正在使用.它还没有做任何事情,只是尝试获取数据.
jQuery.getJSON('https://www.googleapis.com/youtube/v3/channels?part=UncleBens&id=UncleBens&key=AIzaSyDXD80S1mFHH2HSZFxLemkae-_Cl_nY5Xk', function(data){
console.log(data);
for(var i=0; i<data.data.items.length; i++) {
console.log(data.data.items[i].title); // title
console.log(data.data.items[i].description); // description
}
});
Run Code Online (Sandbox Code Playgroud) 我正在将YouTube视频嵌入小部件(http://www.betterdonatebutton.com)以帮助非营利组织筹集资金.不幸的是,其中一些技术上并不足以关闭在视频上显示的广告.
如何嵌入YouTube视频并指定我不想展示广告?
嵌入Youtube播放列表时,我收到此错误:
Blocked a frame with origin "http://www.youtube.com" from accessing a frame with origin "http://www.mydomain.com". Protocols, domains, and ports must match.
我不是在任何地方将HTTP与HTTPS混合,所以我不知道为什么我首先得到这个错误.
我注意到最近Youtube嵌入式播放列表没有显示第一个视频的嵌入图像,只是显示带有"全部播放"按钮的黑屏,我想知道这是否是由上述错误引起的.
如何使用除Youtube之外的其他来源,从我的应用程序中的实际位置获取完整的mp4网址来播放视频.gdata/youtube API已被弃用,因此我遇到了麻烦.任何帮助将不胜感激.谢谢.
我正在努力使用youtube播放器api为youtube视频设置循环.
问题是视频没有在循环下运行.
这是我的代码
var tag = document.createElement('script');
tag.src = "https://www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
var player;
function onYouTubeIframeAPIReady() {
player = new YT.Player('player', {
height: '390',
width: '640',
playerVars: {
'controls': 0,
'showinfo': 0,
'rel': 0,
'loop': 1
},
videoId: 'qzZuBWMnS08',
events: {
'onReady': onPlayerReady,
// 'onStateChange': onPlayerStateChange
}
});
}
function onPlayerReady(event) {
// event.target.setLoop(true);
event.target.playVideo();
}
Run Code Online (Sandbox Code Playgroud)
循环:1似乎不起作用.还有任何方法可以从视频顶部删除共享和视频标题.
提前致谢.
我一直试图通过以下方法查询视频:
function search() {
var request = gapi.client.youtube.search.list({
part: 'snippet',
channelId: 'IRRELEVANT',
order: 'date',
maxResults: '25'
});
request.execute(function(response){
YoutubeResponse(response);
});
Run Code Online (Sandbox Code Playgroud)
虽然文档告诉我statistics每个视频都有一部分,但是snippet我认为__proto__这意味着某个地方出现了错误?或API改变了吗?基本上我需要那些最近25个视频的视图数...
我试过换part: 'snippet'到part: 'statistics'但是又回来了code: -32602......
谢谢您的帮助,
干杯!
编辑:显然search.list没有"统计",而是我需要单独搜索每个视频......当使用谷歌"尝试"功能时(https://developers.google.com/youtube/v3)/docs/videos/list#try-it)当你在底部的"Fields"部分询问统计信息时,它没有做任何事情......所以我非常困惑,我怎么能得到查看所有25个视频的计数和长度(如果单独或全部一次 - 最好 - )
http://beta.billboard.fm上的我的应用程序在播放一首歌后,在我的正常浏览会话中产生错误.
如果我以隐身方式重新加载页面,该应用程序将完全正常运行.我最近才开始遇到这些问题.我已经完成清除了所有缓存并且它再次工作,但只是在抛出相同的错误之前暂时.
此外,我已禁用所有浏览器扩展.
但是,无论我做什么,我都无法通过Youtube API抛出此错误:
无法将消息发布到http://www.youtube.com.收件人来源https://www.youtube.com
看起来安全协议存在不匹配.我尝试将它们更改为https或只是删除"http:"一起在我身边.但它没有解决问题.
任何人都知道这里发生了什么?
javascript youtube youtube-api youtube-javascript-api youtube-data-api
我正在尝试了解如何使用YouTube API定位现有的iframe(即不使用脚本构建iframe).
像往常一样,谷歌没有提供足够的API示例,但解释说有可能,这里http://code.google.com/apis/youtube/iframe_api_reference.html
这是我正在尝试做的一个例子 - 缩略图下面的视频应该播放.我几乎在那里,但只有第一个视频播放...