我试图通过JS API使用Youtube chromeless播放器,我遇到了seekto()函数的问题.
问题是有时候(我无法判断出问题何时出现),将seekTo()函数向后调用到未加载的视频中的某个点不会返回而是保持在当前时间.
这就是我所做的(想象视频长度为240秒):
那么,有其他人有这个问题吗?
我在网页上嵌入了多个YouTube iFrame.如果其中一部电影已经播放,然后用户决定开始播放另一部电影,是否可以停止播放第一部电影,这样一次只播放一部电影?
我查看过"iframe嵌入的YouTube播放器API参考" https://developers.google.com/youtube/iframe_api_reference,但如果我说实话,我就是不明白.我的开发人员技能非常有限......很明显.
可怜的我知道,但这就是我现在所拥有的(只是iFrames)...... http://jsfiddle.net/YGMUJ/
<iframe width="520" height="293" src="http://www.youtube.com/v/zXV8GMSc5Vg?version=3&enablejsapi=1" frameborder="0" allowfullscreen></iframe>
<iframe width="520" height="293" src="http://www.youtube.com/v/LTy0TzA_4DQ?version=3&enablejsapi=1" frameborder="0" allowfullscreen></iframe>
Run Code Online (Sandbox Code Playgroud)
我认为我需要做的就是在视频网址的末尾添加'&enablejsapi = 1'.
任何帮助将非常感激.
先感谢您.
我还好.
我的页面上有2个这样的按钮:
<input type="file" id="fileToSend"/>
<input type="button" onclick="upload()" value="Upload" id="btnSend"/>
Run Code Online (Sandbox Code Playgroud)
当我点击"上传"按钮时,我想将所选文件上传到youtube.我调用这样的函数:
function upload() {
var fileStream;
var video = document.getElementById("fileToSend");
var file = video.files[0];
console.log(file);
console.log("Nombre: " + file.name);
var r = new FileReader();
r.onload = function () {
console.log("fileStream creado");
fileStream = r.result;
//console.log("FileStream: " + fileStream);
};
console.log("Creando fileStream..");
r.readAsBinaryString(file);
gapi.client.load('youtube', 'v3',
function() {
var request = gapi.client.youtube.videos.insert({
part: 'snippet, status',
resource: {
snippet: {
title: 'Video Test Title 5',
description: 'Video Test Description',
tags: ['Tag 1', 'Tag …Run Code Online (Sandbox Code Playgroud) 我正在使用yt.player启动YouTube视频,如下所示:
function onYouTubeIframeAPIReady() {
player = new YT.Player('player', {
height: '720',
width: '1280',
html5: 0,
videoId: 'i8IXMGHpGBk',
events: {
'onStateChange': function(e) {
if (e.data == 0) {
//skrolla här
}
}
}
});
}
Run Code Online (Sandbox Code Playgroud)
使用嵌入代码添加视频时,我可以添加许多其他参数,例如:controls = 0&modestbranding = 1&showinfo = 0&autoplay = 1
当我尝试添加自动播放时,我试过这个:
function onYouTubeIframeAPIReady() {
player = new YT.Player('player', {
height: '720',
width: '1280',
html5: 0,
videoId: 'i8IXMGHpGBk',
autoplay: 1,
events: {
'onStateChange': function(e) {
if (e.data == 0) {
//skrolla här
}
}
}
})
Run Code Online (Sandbox Code Playgroud)
但它不起作用.我究竟做错了什么?
在UIWebview中播放媒体文件时(例如youtube)
html5媒体播放器有一个"全屏"按钮 - 我该怎么办?

youtube-api uiwebview nsnotificationcenter ios youtube-javascript-api
我有一个带有popup.html和注入内容脚本的chrome扩展.使用注入的内容脚本我试图访问youtube的javascript API函数,除了一个:addEventListener之外它一切正常.
Youtube的javascript API的事件监听器监听要更改的视频的状态.因此,如果到达视频结尾,则状态变为0.
var currentVideo = document.getElementById('movie_player');
currentVideo.addEventListener("onStateChange", "onytplayerStateChange");
function onytplayerStateChange() {
console.log("The state of the player has changed");
}
Run Code Online (Sandbox Code Playgroud)
这段代码在正常环境中工作正常,但它无法在内容脚本中工作.为什么我不能在内容脚本中捕获更改事件?有任何想法吗?
javascript google-chrome google-chrome-extension youtube-javascript-api
我在我的网站上使用Youtube(v3)API,其中显示了许多YouTube视频缩略图.例如:https://i1.ytimg.com/vi/0ZL_q7oUVrQ/mqdefault.jpg
当我查看我的网站的Google Insights(https://developers.google.com/speed/pagespeed/insights/)时,它会抱怨"利用浏览器缓存"错误.我已经注意到添加了来自我的服务器的静态资源的到期日期,例如js/css文件,但Google的见解主要是抱怨外部直接来自Youtube服务器的缩略图.
我的网站有很多,这些缩略图和缓存它们是非常重要的,快速的页面加载但YouTube的服务器已经为只有6个小时的到期时间,我没有找到一个方法来改变,因为他们是外部到我的服务器.
我非常感谢有人可以建议我更好地处理浏览器缓存,因为资源来自外部服务器(例如来自youtube服务器的缩略图)我很惊讶Youtube只设置了到期时间6小时虽然图像是经常更换的最不可能的资源......!
youtube-api http-caching browser-cache pagespeed youtube-javascript-api
我在我的网页上嵌入了YouTube视频,并能够检测用户何时点击了视频上的播放和暂停状态.
我还需要能够检测用户何时进行搜索/跳转到视频的特定部分(而不是让它只是播放到该点).我该怎么做呢?
我使用的是Youtube iframe api:https://developers.google.com/youtube/iframe_api_reference
我可以通过启动一个计时器来检查这个问题,如果视频播放的时间超过一秒,则每秒检查一次,如果是这样的话,可以将其视为搜索.但是,似乎应该有一种更简单的方法.
我设法启动视频并在我需要的时候结束视频,但有没有办法循环这个?循环选项似乎没有做太多.
小提琴: https ://jsfiddle.net/u7nkz292/
码:
<div id="ytplayer"></div>
<script>
// Load the IFrame Player API code asynchronously.
var tag = document.createElement('script');
tag.src = "https://www.youtube.com/player_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
// Replace the 'ytplayer' element with an <iframe> and
// YouTube player after the API code downloads.
var player;
function onYouTubePlayerAPIReady() {
player = new YT.Player('ytplayer', {
height: '360',
width: '640',
videoId: 'M7lc1UVf-VE',
playerVars: {
autoplay: 1, // Auto-play the video on load
controls: 0, // Show pause/play buttons in …Run Code Online (Sandbox Code Playgroud) 我似乎无法弄清楚我应该为哪个元素添加事件监听器才能在iOS上工作,我正在听这些事件
['webkitfullscreenchange', 'mozfullscreenchange', 'fullscreenchange', 'MSFullscreenChange'];
Run Code Online (Sandbox Code Playgroud)
并且听取document你传递给它们的元素和两个元素new YT.Player(),它们在桌面浏览器和Android浏览器上都很好,但是在iOS上都没有激发(chrome或safari,无关紧要).
你可以在这里查看它,在底部http://youtubeplayer.fxck.cz/ -1, 1, 2, 3是标准的youtube播放器事件,1337 fullscreenchange来自元素,1338 fullscreenchange来自document.
youtube-api ×8
javascript ×6
youtube ×4
ios ×2
http-caching ×1
iframe ×1
pagespeed ×1
uiwebview ×1
upload ×1