Android 4.3 上的 YouTube 嵌入式播放器

2024-01-23

我正在尝试将 YouTube 播放器嵌入到我的网页中,如下所示。

我遇到的问题是,播放器最初加载并播放第一个视频正常,但是当调用 .loadVideoById 时,播放器看起来要加载视频(视频标题文本更改),但随后卡在黑屏上而不是播放。

自从我的手机更新到 Android 4.3 以来,这种情况只发生在 Android 上,使用 HTML5 播放器(Chrome 和默认浏览器),之前在 4.2 上表现良好。

它通过桌面 Chrome 运行良好,并将用户代理设置为伪造 Android。

我还尝试过另外两部 Android 手机,并且在两部手机上都遇到了完全相同的问题(都是 4.3)。使用 Google Code Playground 示例 Youtube 播放器时,我也间歇性地遇到相同的行为。

如果我连接 ADB Chrome 远程调试器,我可以看到播放器陷入缓冲状态,尽管视频片段正在按预期下载。

有人经历过类似的事情吗?或者有什么建议吗?

Code:

<div id="ytwrapper">
<div id="player" >
</div>
</div>
<script type="text/javascript">
var ytplayer;

2. 此代码异步加载 IFrame Player 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);

3. 此函数在 API 代码下载后创建一个(和 YouTube 播放器)。

function onYouTubeIframeAPIReady() 
{
   ytplayer = new YT.Player('player', { width: 1280,
                            height: 720,
                            videoId: 'M7lc1UVf-VE',
                            frameborder:0,
                 events: 
                          {
                            "onReady": onYouTubePlayerReady,
                    "onStateChange": onytplayerStateChange,
                    "onPlaybackQualityChange": onYTQchange,
                "onError": onYTError
                      }
                          });
 }

function loadnextvid()
{
  ytplayer.loadVideoById(vids[currentvid],0, vqs[currentvid]);
}

function onYouTubePlayerReady(playerId) 
{
loadnextvid();
}
</script>

我遇到过同样的问题。看起来目前解决此问题的唯一方法是销毁并重新创建玩家实例。

我在这里找到了这个解决方案:https://code.google.com/p/gdata-issues/issues/detail?id=5273 https://code.google.com/p/gdata-issues/issues/detail?id=5273

适用于我的 Android 4.4、iOS7。

if (player != null) {
    player.destroy();
    player = null;
}


player = new YT.Player('divplayer', {
                width: '100%',
                height: '100%',
                videoId: video_id,

                playerVars: { 'autoplay': 0, 'playerapiid': 'ytPlayer', 'border': 0,  'hd': 1, 'version': 3, 'rel': 0, 'color' : 'red' },


                events: {
                    'onReady': onPlayerReady
                }

            });
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android 4.3 上的 YouTube 嵌入式播放器 的相关文章

  • RxJava、Proguard 和 sun.misc.Unsafe

    我有以下问题RxJava 1 1 0 使用时Proguard 我没有更改 RxJava 版本或其 pro文件 但更新后OkHttp我无法编译使用Proguard因为我有关于sun misc Unsafe不在场 rxJava pro keep
  • 设置从 Facebook 登录获取用户电子邮件 ID 的权限

    我在用着Facebook 3 0 SDK对于安卓 我必须实施Facebook登录 我正在访问用户的基本信息 例如姓名 用户 ID 但我也想访问用户的电子邮件 我浏览了很多博客和论坛 但不知道该怎么做 我正在使用我自己的 android 按钮
  • 线程自动利用多个CPU核心?

    假设我的应用程序运行 2 个线程 例如渲染线程和游戏更新线程 如果它在具有多核 CPU 当今典型 的移动设备上运行 我是否可以期望线程在可能的情况下自动分配给不同的核心 我知道底层操作系统内核 Android linux内核 决定调度 我的
  • 如何覆盖 bootstrap 表 td 样式?

    我正在使用 Bootstrap 3 3我有一个 HTML 代码如下 div table class table table striped tr td 03 td td 04 td td 05 td td 06 td td 07 td td
  • 在 Android 中使用 DataOutputStream 在 POST 正文中发送特殊字符 (ë ä ï)

    我目前正在开发一个具有大量服务器端通信的 Android 应用程序 昨天 我收到一份错误报告 称用户无法发送 简单 特殊字符 例如 我搜索过但没有找到任何有用的东西 可能重复 没有答案 https stackoverflow com que
  • 在按钮之间添加空间?

    嗨 我这里有一个代码 除了一件事之外 一切都很完美 代码中每个按钮之间没有空格 我尝试过 margin 但不幸的是它是一个无序列表 所以我有点困惑 我将添加或替换什么以在两个按钮之间留出空间 帮助
  • HTML5 支持命名空间吗?

    我们是否可以使用新标签来扩展 HTML5 例如
  • 在我的Android中,当其他应用程序想要录制音频时如何停止录音?

    在我的应用程序中 服务通过 AudioRecord 持续录制音频 当我的应用程序运行时 其他与音频记录相关的应用程序 例如 Google 搜索 无法工作 如何知道何时有其他应用想要录制音频 以便我可以停止录制以释放资源 答案是MediaRe
  • 请求位置更新参数

    这就是 requestLocationUpdates 的样子 我使用它的方式 requestLocationUpdates String provider long minTime float minDistance LocationLis
  • CookieManager.getInstance().removeAllCookie();不删除所有cookie

    我在应用程序的 onCreate 中调用 CookieManager getInstance removeAllCookie 我遇到了一个奇怪的问题 我看到 GET 请求中传递了意外的 cookie 值 事实上 cookie 值是一个非常非
  • Flutter 深度链接

    据Flutter官方介绍深层链接页面 https flutter dev docs development ui navigation deep linking 我们不需要任何插件或本机 Android iOS 代码来处理深层链接 但它并没
  • Android 启动器快捷方式

    我制作了一个简单的打卡 打卡时钟应用程序 我想向用户添加在主屏幕上创建快捷方式的选项 该快捷方式将切换应用程序的状态 超时 超时 但我根本不希望此快捷方式在屏幕上打开应用程序 这是我的 setupShortcut private void
  • ROOM迁移过程中如何处理索引信息

    CODE Entity tableName UserRepo indices Index value id unique true public class GitHubRepo PrimaryKey autoGenerate true p
  • Android构建apk:控制MANIFEST.MF

    Android 构建 APK 假设一个 apk 包含一个库 jar 例如 foo jar 该库具有 META INF MANIFEST MF 这对于它的运行很重要 但在APK中有一个包含签名数据的MANIFEST MF 并且lib jar
  • 材质设计图标颜色

    应该是哪种颜色 暗 材质图标 在官方文档上 https www google com design spec style icons html icons system icons https www google com design s
  • 不使用控件时,视频元素在 Chrome 中消失

    So I think这是一个浏览器错误 它出现在一个更复杂的设计 网站中 但我已经进行了很好的尝试 简化了我的代码和设计等 并发现了以下内容 嵌入时
  • 用于推送通知的设备令牌

    我正在实施推送通知服务 我需要创建一个数据库来存储 4 个移动平台的所有设备令牌 我想根据他们的平台 iOS Android BlackBerry WP7 来组织它们 但是有什么方法可以区分平台 这样如果我只想向 Android 用户发送消
  • android Accessibility-service 突然停止触发事件

    我有一个 AccessibilityService 工作正常 但由于开发过程中的某些原因它停止工作 我似乎找不到这个原因 请看一下我的代码并告诉我为什么它不起作用 public class MyServicee extends Access
  • 在具有多级分组的 HTML 表格中显示数据

    我必须通过使用 rowspan 进行分组来显示 HTML 表中的一些数据 下面是预期的 GUI 我有如下所示的 JSON 数据 JSON数据here https jsoneditoronline org id 1014438e5489485
  • 为什么Android的ImageReader类这么慢?

    我尝试了适用于 Android 3 4 1 的全新 OpenCVJavaCamera2View但它太慢了 仅显示相机视图约 15 fps 当我尝试较旧的JavaCameraView相反 它给了我很好的结果 30fps 这是我相机的极限 我想

随机推荐

  • jquery datepicker - 计算日期差异

    我是这方面的新手 我真的需要你的帮助 因为我已经为此苦苦挣扎了好几天 我想计算使用日期选择器选择的两个日期之间的天数 我的做法是正确的还是完全错误的 我所知道的是 当我单击 天数 时 它没有显示任何内容 这是我的代码
  • 如何判断一个类是否有特定的模板化成员函数?

    我想知道是否可以扩展 SFINAE 方法来检测类是否具有某个成员函数 如此处讨论的 C 中有没有一种技术可以知道一个类是否具有给定签名的成员函数 检查类是否具有给定签名的成员函数 https stackoverflow com questi
  • Solr 在单词拼写不正确时将其识别为拼写正确

    我正在跟随 Solr拼写检查组件文档 http wiki apache org solr SpellCheckComponent 但似乎无法让它发挥作用 拼写检查组件似乎正在运行 但 Solr 会在单词未运行时将其识别为拼写正确 我怎样才能
  • Javascript函数有子函数/变量

    这是工作代码 var test function console log test data test data hello test set function data test data data test set Test test
  • 如何在PHP中使用箭头函数?

    我开始了解PHP 7 4 中的箭头函数 https github com php php src pull 3941 我尝试像这样使用它们
  • 铸造明确布局的结构

    假设我有这个结构 StructLayout LayoutKind Explicit public struct Chapter4Time FieldOffset 0 public UInt16 Unused FieldOffset 2 pu
  • 主题分布:在python中进行LDA后如何查看哪个文档属于哪个主题

    我能够运行 gensim 中的 LDA 代码 并获得前 10 个主题及其各自的关键字 现在 我想进一步了解 LDA 算法的准确性 方法是查看它们将哪些文档聚类到每个主题中 这在 gensim LDA 中可能吗 基本上我想做这样的事情 但是在
  • 有没有办法仅使用 CSS 将元素的索引(子编号)作为文本插入到元素中?

    我的目标是逐行打印文本文件并在开头附加行号 就像这样 div div class line 1 asdf div div class line 2 asdfasdf div div class line 3 asdfasdfasdfasdf
  • 是否可以在 C 语言中添加类型推断?

    比方说 我们创建了 C 的重新实现 唯一的区别是 类型是推断出来的 存储类和修饰符仍然需要 给定 const static restrict 等 让我们将注意力限制在单个 暂时归档 C 程序 能做到吗 主要有哪些 障碍 关于可能导致类型推断
  • 为什么在 V8 中使用此代码片段 <= 比 < 慢?

    我正在阅读幻灯片使用 V8 突破 Javascript 速度限制 https v8 io12 appspot com 16 并且有一个类似下面代码的示例 我不明白为什么 lt 慢于 lt 在这种情况下 有人能解释一下吗 如有任何意见 我们将
  • Google Ads 链接器命令失败,退出代码为 1(使用 -v 查看调用)

    我最近从 iAd 切换到 Google Ads 它似乎在模拟器上运行良好 但每当我尝试在 iOS 设备上运行它时 我都会收到此错误 这有什么问题吗 我的项目发生了同样的错误 以下解决方案有效 请检查您的 xcode 项目中是否启用或禁用了位
  • 谷歌地图如何在最近的道路上强制标记

    我正在做一个车辆跟踪项目 我从数据库中获取坐标 并显示在谷歌地图上 这是我的代码 function get coordinates checkbox var v id checkbox id if checkbox checked var
  • 构建上下文无关语法

    如何为以下语言构建上下文无关语法 L a l b m c n d p l n m p l m n p gt 1 我首先尝试 S gt abcd aAbBcd abcCdD aAbcdD AabBcCd 进而A 其他东西 但我无法让它工作 我
  • 如何合并两个没有共同祖先的分支?

    我已经开始在项目中使用 Git 其中前两次提交只是一些初始设置 gitignore 和 gitattributes 第三次提交M2添加SVN trunk的内容 I1 I2 M2 N Z 我已将 SVN 历史记录导入名为svn where M
  • Sencha 命令上的 Cordova 和 PhoneGap 初始化失败

    我已经通过 NodeJS CLI 在 Ubuntu 13 10 上安装了 PhoneGap 并开始了本机构建过程 然而 在初始化期间 这是执行的命令和相应的输出 sencha phonegap init com foo barapp Bar
  • 使用 sed 将换行符转义 '\n' 替换为转义换行符转义 '\\n'

    我正在尝试替换字面术语 n 不是换行符 而是字面量 按字面量 n using sed 我试过这个 echo Refreshing n n n state prior sed s n n g 这 有效 但我需要它来输出文字字符 n 现在我最终
  • 在 Windows 上从命令行向 git commit -m 添加换行符

    我的公司有一项政策 即对特定项目的所有签入都必须遵循 git 提交的特定多行模板 如何最简单地从 Windows 命令行创建一条包含多行的提交消息 This is almost exactly a duplicate of Add line
  • 2个列表之间的共同元素比较

    给定两个输入列表 如何创建两个输入共有的元素列表 例如 对于输入 1 2 3 4 5 6 and 3 5 7 9 结果应该是 3 5 用于输入 this this n that and this not that that 结果应该是 th
  • XCode C++ 缺少精子()

    我正在使用 C 和 XCode 创建一个命令行应用程序来保存文件权限 但是我无法识别精子 方法 错误是 使用未声明的标识符 精子 我的包含内容和有问题的代码如下 My includes include
  • Android 4.3 上的 YouTube 嵌入式播放器

    我正在尝试将 YouTube 播放器嵌入到我的网页中 如下所示 我遇到的问题是 播放器最初加载并播放第一个视频正常 但是当调用 loadVideoById 时 播放器看起来要加载视频 视频标题文本更改 但随后卡在黑屏上而不是播放 自从我的手