Youtube API暂停时,我按下播放在一些移动浏览器
Youtube API pause when i press play in some mobile browser
我一直在与youtubes javascript api的网页工作,一切都工作得很好。今天我注意到一个以前没有出现过的问题。在某些手机浏览器上,例如Android上的firefox, youtube播放器只能在其中运行。如果我按播放(在视频上),它开始播放,如果按暂停,它停止。但如果我再次点击播放它会播放几帧,然后再次暂停。我认为这是一个新问题,因为我在过去几周做了很多测试。以下是我创建播放器的代码。
//Start Youtube API
var tag = document.createElement('script');
tag.src = "http://www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
var youtubeReady = false;
//Variable for the dynamically created youtube players
var players= new Array();
var isPlaying = false;
function onYouTubeIframeAPIReady(){
youtubeReady = true;
//The id of the iframe and is the same as the videoId
jQuery(".video").each(function(i, obj) {
players[obj.id] = new YT.Player(obj.id, {
videoId: obj.id,
playerVars: {
controls: 0,
showinfo: 0 ,
modestbranding: 1,
wmode: "transparent",
html5: 1
},
events: {
'onStateChange': onPlayerStateChange
}
});
});
}
好的,我找到了问题的原因。我在Android的火狐浏览器和三星Galaxy S3的标准浏览器上都遇到了问题。我的设置是youtube播放器有control=0所以所有的播放和暂停交互都是通过按iframe/video image
来完成的在firefox中,问题是如果我播放视频,暂停并再次播放它,它会播放几帧并无故暂停。问题的原因是这一行:
标记。SRC = "http://www.youtube.com/iframe_api";
如果我改变http到https它工作。如果不使用https链接到视频,使用常规嵌入时也会出现同样的问题。
然而,这意味着用户必须在视频可见之前激活插件,而且它似乎是另一个更延迟的播放器出现…当在论坛上阅读时,似乎很多人都对youtube嵌入android的firefox有问题。
对于三星s3浏览器,问题正好相反。当播放视频并暂停时,它会无缘无故地倒带几帧并再次播放。我发现问题出在"control=0"参数上。如果我将其更改为"control=2",它就可以工作了,所以如果我想支持这个浏览器,我需要重新考虑我的设计。
相关文章:
- 是否可以使用iframe API在iOS浏览器上播放youtube视频
- 用于播放背景音乐的嵌入式flash播放器在IE浏览器中不起作用
- 适用于可在网络浏览器和智能手机上运行的网站的 MP3 播放器
- HTML5音频播放器只有在双击后才能在移动浏览器上播放
- 是否可以用javascript或任何脚本语言在浏览器或扬声器中录制播放的声音
- 浏览器同步摄像头加速视频播放不是一个功能
- 创建视频播放器(Quicktime浏览器插件)React元素,输出缺少的视频属性
- 在手机和平板电脑浏览器上播放音频片段
- 谷歌浏览器播放mkv,但火狐不,为什么
- 无法在浏览器中播放MP4视频
- 浏览器内音频播放器如何工作
- 在浏览器中播放PLS文件
- YouTube视频上的HTML5浏览器播放器
- 如何将我的浏览器上播放的实时视频流式传输到其他用户的浏览器
- 检测浏览器视频播放器中广告的网络调用
- Firefox 不会播放声音,但可以在其他浏览器中运行
- 捕获浏览器中当前播放的声音
- 如何检测谷歌浏览器是否阻止Flash播放
- 从浏览器以编程方式打开 VLC 媒体播放器
- 下载音乐文件而不是在浏览器中播放