问题标签 [youtube-iframe-api]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1443 浏览

cordova - 如何在默认浏览器中打开 iframe 的链接?

我在 PhoneGap 应用程序中嵌入了 YouTube 播放器。

当用户点击 Youtube 的徽标时,他会转到 YouTube 的网站(在 PhoneGap 网页视图中)并且无法返回应用程序。

我删除了inappbrowser插件,但 Youtube 仍然在应用程序内打开。

作为一个糟糕的用户体验情况,Apple 也拒绝了该应用程序。

有什么想法吗?

0 投票
1 回答
3507 浏览

javascript - 使用 Youtube iframe API 时处理关键事件

我正在寻找一种解决方案,了解如何在使用 Youtube iframe API 在我的应用程序上运行 Youtube 视频时处理关键事件。不幸的是找不到任何东西。确实浏览了此文档https://developers.google.com/youtube/iframe_api_reference#Events但似乎播放器没有触发任何与键相关的事件(例如:onkeydown、keypress、keyup)。

我尝试将事件直接添加到提供的代码中,但没有奏效。

有什么方法可以在按下箭头键时特别处理按键事件?

PS:我不知道我在这里可能是错的,但通常当我在视频缓冲时按箭头键时,我看到点链移动,这给了我一个提示,播放器确实检测到这些事件并做出响应。

更新问题

正如下面的答案所暗示的那样,这当然是一种解决方案,但由于 Youtube 也处理左右箭头键事件,因此当光标在视频上时也可以使用它,我担心的是,我如何处理上下事件Youtube 不处理的箭头键,如果我实现自定义事件处理程序,则仅当光标不在视频上时才有效。

0 投票
1 回答
1170 浏览

javascript - 我可以在浏览器中使用陀螺仪更改 360 YouTube 视频的视图吗?

我想将 360 度 youtube 视频嵌入到网页中,然后通过根据手机的陀螺仪影响视频的显示方向,让用户“环顾四周”。

Youtube 是否为浏览器中这种级别的控制提供 API?

(有关 360 度 youtube 视频的示例,请参见此处:https ://www.youtube.com/watch?v=gQEyezu7G20 )

0 投票
1 回答
294 浏览

javascript - 使用 YouTube iframe API 触发简单事件/使用 player.getCurrentTime 同步事件

这似乎是一件相对容易的事情,但是网络上缺乏示例(以及 JS API 的弃用)让我头晕目眩,所以就这样吧。我希望在 YouTube 视频到达特定时间时执行一些代码。您可以在此处此处查看示例。

我正在尝试做的事情远没有那么复杂。当视频进入 3 秒时,我想在页面上放一些文字。而已。
http://jsfiddle.net/StephanieQ/2sj9smnd/

但它不起作用。我试过 parseFloat (不应该需要,因为 player.getCurrentTime(); 应该返回一个数字。)但这没有帮助。我在底部的 div 中显示了当前时间到小数点后一位,因此很清楚我正在使用的变量已定义并且正在工作。

为什么这不起作用?看起来很简单...

注意:iframe API 仅适用于 YouTube 的 JS API 已弃用。

编辑:setInterval 是我得救的关键!

我是个白痴...

0 投票
0 回答
881 浏览

google-chrome - YouTube IFrame API - 来源不受信任:空

不确定这是 API 中的错误还是 Chrome 中的安全功能,但是当尝试在本地文件(通过 File:// 协议)上运行 YT IFrame API 时出现错误Untrusted origin: null

视频加载但postMessage不起作用,因此我无法运行任何 api 方法,也无法使用来自 YouTube 的事件。

任何人都可以对此有所了解吗?

谢谢,院长

0 投票
1 回答
1079 浏览

ios - 使用“YouTube-Player-iOS-Helper”,从屏幕上删除 YTPlayerView 时是否可以不暂停播放?

我正在开发一个播放音频、普通视频(如 mp4)和youtube 视频的音乐应用程序。它启用了适当的背景模式,因为应用程序在后台正确播放音频和常规视频。

以下问题出现在 iPad 上,而不出现在 iPhone 上。

在 iOS 8 上使用 YouTube-Player-iOS-Helper,将 youtube 视频内容 (YTPlayerView) 添加到另一个视图(作为子视图)效果很好,即使在播放时也是如此。但是,从其父视图中删除该 YTPlayerView 会自动暂停播放,这并不总是理想的情况(将应用程序发送到后台会产生相同的效果)。

有可能改变这种行为吗?

当应用程序进入后台时,我可以合理化手动恢复播放,但是,对“从超级视图场景中删除”执行相同操作会导致播放片刻卡顿。

通过播放视频然后在选项卡之间切换,可以使用“YouTube-Player-iOS-Helper”的示例应用轻松重现该问题。在 iPhone 上,播放器不会暂停,但在 iPad 上,播放会暂停。

如果不可能,是否还有其他 Youtube SDK 允许这种行为并且仍然遵守官方条款和条件?

谢谢

0 投票
1 回答
385 浏览

ios - 在 youtube-ios-player-helper 中设置“来源”会破坏程序功能

使用 YouTube iOS Player Helper 库(https://github.com/youtube/youtube-ios-player-helper于 2015-06-16 下载),如果我添加以下行:

前:

在第 30 行SingleVideoViewController.m,程序控件不再影响视频,并且进度条不再更新。此外,显示/接收的状态消息很少。

我假设/希望“起源”会出现在分析中,以表示来源,这就是我设置它的原因。

此文本需要采用特定格式,还是我应该设置的其他格式?

我在这里交叉发布这个问题,因为我没有对 GitHub 问题做出任何回应 https://github.com/youtube/youtube-ios-player-helper/issues/121

0 投票
0 回答
561 浏览

youtube-iframe-api - 如何禁用 SSL (https) 流和强制 http 流

我需要禁用“从 YouTube 播放器 Api 传输视频的 https”,有没有办法通过“iframe 播放器”或其他选项从“googlevideo 域”实现“http 流(无 ssl)”?

0 投票
0 回答
216 浏览

ios - 在 iOS 上使用高分辨率缩略图

如何在 iOS 中默认使用高分辨率版本的缩略图?

这个问题从来没有答案:https ://productforums.google.com/forum/#!topic/youtube/77Vky3bso54

例如,而不是:http: //img.youtube.com/vi/XLDDP9f4a-g/hqdefault.jpg我希望播放器使用:http: //img.youtube.com/vi/XLDDP9f4a-g/maxresdefault。 jpg

我的播放器是 920 像素 x 518 像素。我在桌面浏览器上获得了高分辨率缩略图,但在装有 iOS 8.4 的 iPad 上却没有。

我正在使用 youtube 的 iframe api 来显示播放器,初始化如下:

0 投票
0 回答
102 浏览

youtube-iframe-api - 如何在 youtube 视频上设置更细粒度的播放速率

我正在创建一个支持多个提供商(youtube、vimeo、直接视频...)的自定义播放器。而且我注意到,当我使用setPlaybackRate()Youtube API 时,它只允许使用一个特定数字的值,例如0.25 0.5 0.75 1......但它只是忽略了0.85 0.72 1.15. 这是为什么?在浏览器上使用 HTML5 视频标签时,这些值是可以被接受的(另外,我有一个在 youtube 上运行的浏览器扩展程序,通过该扩展程序我可以直接访问视频标签,并且可以使用这些自定义播放速率)。

有什么理由不接受 iframe api 上的这些数字?我的播放器是针对音乐家的,所以播放速率是我可以很好地控制的一个非常重要的功能。

抱歉,这个问题有点偏离 StackOverflow 类型的问题,但我不知道还有其他地方可以问这个问题。