我希望能够控制基于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函数?
我正在尝试了解如何使用YouTube API定位现有的iframe(即不使用脚本构建iframe).
像往常一样,谷歌没有提供足够的API示例,但解释说有可能,这里http://code.google.com/apis/youtube/iframe_api_reference.html
这是我正在尝试做的一个例子 - 缩略图下面的视频应该播放.我几乎在那里,但只有第一个视频播放...
我希望了解如何构建一个允许多个用户在其计算机上同步观看同一YouTube视频的网络应用.例如,synchtube.com或watch2gether.com
我正在寻找一个简单的方法,可以使用通用的技术,如来实现PHP,jQuery而Apache.我目前正在考虑轮询(或彗星长轮询,但这需要更复杂的服务器设置,我希望避免),类似于Ajax聊天应用程序的实现方式 - 客户端不断检查服务器以查看哪个视频是播放.但是,我怀疑这里会出现延迟问题,因此视频不会完全同步.我还想不出更好的方法.
对于开发人员社区,对方法或代码片段的任何帮助都非常感谢!
我有一个音乐博客,其中包含各种嵌入式soundcloud和youtube播放器.
我想要做的是阻止任何音频同时播放.换句话说,当我正在播放YouTube视频时,如果我点击播放soundcloud嵌入,我希望youtube播放器暂停,反之亦然.
如果我点击播放另一个youtube播放器(soundcloud已经固有地这样做),我已经开发了暂停流媒体youtube播放器的代码.我只需要让它交叉兼容.真的很感激一些帮助,谢谢.
var playerCurrentlyPlaying = null;
var players = {}
YT_ready(function() {
$(".youtube_embed").each(function() {
var identifier = this.id;
var frameID = getFrameID(identifier);
if (frameID) {
players[frameID] = new YT.Player(frameID, {
events: {
"onStateChange": function(event){
if (event.data == YT.PlayerState.PLAYING)
{
if(playerCurrentlyPlaying != null &&
playerCurrentlyPlaying != frameID)
callPlayer( playerCurrentlyPlaying , 'pauseVideo' );
playerCurrentlyPlaying = frameID;
}
}
}
});
}
});
});
Run Code Online (Sandbox Code Playgroud)
我使用过这些来源的函数: 用JavaScript或jQuery监听Youtube事件
YouTube iframe API:如何控制已经在HTML中的iframe播放器?
使用UniqueID()呈现HTML:
<span class="soundcloud_embed" id="soundcloud_post_312">
<iframe id="ui-id-1" width="100%" height="166" scrolling="no" frameborder="no" src="https://w.soundcloud.com/player/?url=http%3A%2F%2Fapi.soundcloud.com%2Ftracks%2F103518792&show_artwork=true&secret_token=s-LnOTK"></iframe> …Run Code Online (Sandbox Code Playgroud)