标签: youtube-javascript-api

在 youtube-api 中下载自己的视频

yt-api 有没有办法下载自己上传的视频?我想做一些类似 pixabay 的视频。

托马斯131

youtube api download youtube-api youtube-javascript-api

5
推荐指数
1
解决办法
8779
查看次数

Youtube Player API 结束状态从未触发

你好,所以我已经实现了 Youtube Player API,并且根据我正在做某些事情的事件,它在视频播放或暂停时完美工作,但是当视频结束时,永远不会调用结束事件,而是它回忆暂停的事件。我使用从网址栏获取视频的网址,这工作得很好。

<script>
function get(name){
    if(name=(new RegExp('[?&]'+encodeURIComponent(name)+'=([^&]*)')).exec(location.search))
      return decodeURIComponent(name[1]);
}

//Load player api asynchronously.
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',
      videoId: get('url'),
      events: {
        'onReady': onPlayerReady,
        'onStateChange': onPlayerStateChange
      }
    });
}
function onPlayerReady(evt) {
   // evt.target.playVideo();
}
function onPlayerStateChange(evt) {
    if (evt.data == YT.PlayerState.PLAYING) {
        $.ajax({ url:'insertToDBFromVid.php',
            data: {action : 'playing' },
            type: 'post',
            done: function(result){
                alert(result); …
Run Code Online (Sandbox Code Playgroud)

javascript youtube ajax youtube-javascript-api

5
推荐指数
1
解决办法
1307
查看次数

YouTube iframe api - 为什么 onError 事件被调用两次?

我在使用 YouTube api 中的 onError 事件时遇到了一些问题。下面是一个带有假 videoId 的脚本,用于创建一个调用 onPlayerError 函数的错误。不幸的是我不明白为什么错误函数被调用两次。我认为这可能与函数内部的回调响应有关(也许?),但当 videoId 正确时, onReady 或 onStateChange 都不会被调用两次。任何人都可以看到任何明显的问题吗?提前致谢。

顺便说一句:是的,我确实需要回调和回调内的响应。这是我的完整脚本的缩短版本。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" lang="en">

<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<!-- jQuery -->
<script type="text/javascript" src="http://code.jquery.com/jquery-1.11.0.min.js"></script>

<!-- jQuery / javascript for page -->
<script type='text/javascript'>
//<![CDATA[ 

//create deferred object
var YTdeferred = $.Deferred();

//attach a function to onYouTubeIframeAPIReady
window.onYouTubeIframeAPIReady = function() {
    //resolve when youtube callback is called passing YT as a parameter
    YTdeferred.resolve(window.YT);
    console.log('Resolved'); …
Run Code Online (Sandbox Code Playgroud)

jquery callback youtube-api youtube-javascript-api youtube-iframe-api

5
推荐指数
1
解决办法
3097
查看次数

Youtube 视频上传时通知 API

我有一个 Discord 机器人,我想在某个用户上传视频时发送一条消息。我查看了 Youtube API ( https://developers.google.com/youtube/v3/docs/videos ),但没有找到如何做我想做的事情。

youtube youtube-api youtube-javascript-api youtube-data-api

5
推荐指数
1
解决办法
6223
查看次数

视频取消静音时无法通过 iframe API 播放 YouTube 视频

自从 Chrome 更新到版本 72 以来,我在 YouTube Iframe API 上运行的自定义播放器停止工作。它仍然可以在 Firefox 或 Chrome <= 71 上完美运行。

使用下面的代码,当函数 play() 被触发时,视频开始缓冲然后停止,不播放。

function onYouTubeIframeAPIReady() {
  ytIframe = $("#player")[0];
  ytPlayer = new YT.Player(ytIframe, {
    events: {
      'onReady': () => {},
      'onStateChange': () => {}
    }
  });
}

function play() {
  ytPlayer.playVideo();
}
Run Code Online (Sandbox Code Playgroud)

使其工作的唯一方法是使用mute=1iframe src 上的 url 参数嵌入视频。但即使我这样做,如果我尝试在播放ytPlayer.unMute()视频(使用)后取消静音播放器,视频会再次停止。

关于此 Chrome 72 更新发生了什么变化的任何想法?这是 YouTube/Chrome 错误还是预期行为?

谢谢!

javascript embed youtube google-chrome youtube-javascript-api

5
推荐指数
1
解决办法
2184
查看次数

无法在“DOMWindow”上执行“postMessage”:提供的目标源(“&lt;URL&gt;”)与收件人窗口的源(“&lt;URL&gt;”)不匹配

我收到此错误: Failed to execute 'postMessage' on 'DOMWindow': The target origin provided ('<URL>') does not match the recipient window's origin ('<URL>').

我的页面按我希望的方式运行(我没有注意到任何不受欢迎的行为),但我从不喜欢忽略控制台中的错误,尤其是在我什至不了解根本原因的情况下。

我的问题不是重复的,因为我已经研究了所有这些问题,但没有一个答案有效:

我已经在用了https

我已经尝试设置playerVars{origin: window.location.origin}.

我已经尝试过设置host

我已经尝试过更改 iframe 的可见性。

等等。

var playerVars = {origin: window.location.origin};///sf/answers/3536277321/
window.onYouTubeIframeAPIReady = function () {
    for (var i = 0; i < youtube.length; i++) …
Run Code Online (Sandbox Code Playgroud)

youtube youtube-api youtube-javascript-api youtube-iframe-api

5
推荐指数
1
解决办法
1374
查看次数

视频播放完毕后摆脱嵌入式YouTube播放器

我目前有以下代码在页面上播放YouTube视频.

<div id="player"></div>
<script>
//Load player api asynchronously.
var tag = document.createElement('script');
tag.src = "http://www.youtube.com/player_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
var player;
function onYouTubePlayerAPIReady() {
    player = new YT.Player('player', {
      height: '390',
      width: '640',
      videoId: 'JW5meKfy3fY',
      playerVars: { 'autoplay': 1, 'rel': 0, 'showinfo': 0, 'egm': 0, 'showsearch': 0, },
      events: {
        'onReady': onPlayerReady,
        'onStateChange': onPlayerStateChange
      }
    });
}
function onPlayerReady(event) {
    event.target.playVideo();
}
function onPlayerStateChange(event) {
    //When the video has ended
    if (event.data == YT.PlayerState.ENDED) {
        //Get rid of …
Run Code Online (Sandbox Code Playgroud)

youtube youtube-javascript-api

4
推荐指数
1
解决办法
5775
查看次数

为什么YouTube iframe播放器在加载时调用onYouTubePlayerReady?

我想加载YouTube视频,然后立即静音,播放,暂停和取消静音.在这样做时,我希望向用户呈现一个没有大播放按钮的视频,并且底部有控件.为此,我有以下代码:

<script type="text/javascript">
function onYouTubePlayerReady(playerid)
{
    mutePlayPauseUnmute(playerid);
}
function onYouTubePlayerAPIReady(playerid)
{
    mutePlayPauseUnmute(playerid);
}
function onYouTubeIframeAPIReady(playerid)
{
    mutePlayPauseUnmute(playerid)
}
function onPlayerReady(playerid)
{
    mutePlayPauseUnmute(playerid)
}

function mutePlayPauseUnmute(playerid)
{
    var player = document.getElementById(playerid);
    player.mute();
    player.playVideo();
    player.pauseVideo();
    player.unMute();
}
</script>
<iframe id="quotedVideo1" type="text/html" width="246" height="160" src="https://www.youtube.com/embed/NWHfY_lvKIQ?modestbranding=1&rel=0&showinfo=0&autohide=1&iv_load_policy=3&theme=light&enablejsapi=1&playerapiid=quotedVideo1" frameborder="0"> <!-- Magic Comment --> </iframe>
Run Code Online (Sandbox Code Playgroud)

然而,经检查,没有onYouTubePlayerReady,onYouTubePlayerAPIReady,onYouTubeIframeAPIReady,onPlayerReady,也不mutePlayPauseUnmute是以往任何时候都调用.我做错了什么?根据https://developers.google.com/youtube/js_api_reference#onYouTubePlayerReady,它看起来应该有效,但事实并非如此.

javascript youtube-api youtube-javascript-api

4
推荐指数
1
解决办法
5286
查看次数

YouTube签名解密,带有VB.Net的工作示例

我知道有很多项目,我可以使用它们.但我真的想让它在我的VB.Net项目中没有依赖性地运行.

所以我尝试做的是创建一个Youtube下载器.它适用于通常的视频.但是这些特殊视频如Vevo(https://www.youtube.com/watch?v=9bZkp7q19f0)和其他一些视频都不起作用.

他们有另一个我需要破译的签名.在这里,我需要我能够提取的HTMLPlayer JS文件(http://s.ytimg.com/yts/jsbin/html5player-de_DE-vflG4uS_k/html5player.js).在那个文件中,我需要搜索一个特殊的函数,看看这个函数在做什么,然后在我的代码中做同样的事情.到目前为止这么容易,但在某些例子中,我甚至找不到"sig ="或"signature =",当我找到它们时,它并没有真正帮助我.

所以我想知道的是如何从html5.player.js文件中提取所需的信息.所以你可以在这里看到https://superuser.com/questions/773719/how-do-all-of-these-save-video-from-youtube-services-work我有那个链接到那个文件.

我还发现了这个帮助我开始的https://mytoolkit.codeplex.com/discussions/479171.但是从Sign_Decipher的开头我没有在js文件中找到这样的被调用函数.

我找到的其他一些链接,但没有帮助我让它运行或太旧:

一些API在某种程度上也不起作用:

vb.net youtube encryption youtube-api youtube-javascript-api

4
推荐指数
1
解决办法
6717
查看次数

Android视频(使用最新的API)无法在Android上的Chrome上播放?

我正在为客户开发一个网站,此时我很困难,因为我们都能够在Android上的Chrome中重新创建此问题.

无论出于何种原因,当我们在Chrome上的Android上加载此页面时:

http://miso.gostppro.com

视频加载器只是保持旋转和旋转,视频从不播放.

点击它也不会做任何事情(不开始播放,不在YouTube应用中打开它,什么都没有).

它在其他浏览器中运行得很好(适用于Android的Firefox加载并播放它很好),所以我很困惑为什么会发生这种情况.

我错过了什么?

它是API中的一些调用还是什么?

我迷路了.

youtube-api youtube-javascript-api mobile-chrome youtube-iframe-api

4
推荐指数
1
解决办法
1672
查看次数