我有一个滑块,其中包含4个通过iframe嵌入代码嵌入的YouTube视频
http://www.youtube.com/embed/'.$i.'?enablejsapi=1
我试图让onStateChange四个视频中的任何一个事件调用我调用的函数stopCycle(),当视频开始播放时,它将停止滑块.iframe没有id.我不确定如何正确地捕捉这个事件,并且可以使用任何关于我做错的建议.
<script charset="utf-8" type="text/javascript" src="http://www.youtube.com/player_api"></script>
var playerObj = document.getElementById("tab2"); // the container for 1 of the 4 iframes
playerObj.addEventListener("onStateChange", "stopCycle");
function stopCycle(event) {
alert('Stopped!');
}
Run Code Online (Sandbox Code Playgroud) 我有一个音乐博客,其中包含各种嵌入式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) 我试图淡入youtube iframe嵌入,但它只适用于IE9,所有其他最新的浏览器(Safari,Opera,Chrome,Firefiox)它没有.iframe立即显示为将不透明度设置为0.
我在Windows上.
我错了什么?
ps:这适用于Vimeo youtube iframe嵌入.
的jsfiddle: