一次自动静音播放多个 YouTube 视频

2023-12-29

我正在尝试制作一个使用 YouTube iframe API 来显示多个视频的网页,这些视频在加载时自动开始播放。我希望 4 个视频中的 3 个开始静音播放,但第 4 个视频有音频播放。 最后,我尝试创建一个静音/取消静音和暂停/开始按钮,让我可以同时控制所有 4 个视频。

我一直在研究音频功能的代码,但不确定为什么它不起作用。现在 4 个视频中的 3 个使用了 api,所以我可以同时控制它们,最后一个视频是它自己的自动播放的 iframe。

如果有人想玩的话,这是代码:

HTML:

<div class="no-sound">
    <div data-id="EI0ib1NErqg"></div>
</div>
<div class="no-sound">
    <div data-id="fV6O722O_ew"></div>
</div>
<div class="no-sound">
    <div data-id="cKxRvEZd3Mw"></div>
</div>

<div id="sound">
    <iframe width="560" height="315" src="https://www.youtube.com/embed/g95_9Qd7o9Y?rel=0&autoplay=1" frameborder="0" allowfullscreen></iframe>
</div>

JavaScript:

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 players;
function onYouTubePlayerAPIReady() {
    var players = document.querySelectorAll('.no-sound div')
    for (var i = 0; i < players.length; i++) {
        new YT.Player(players[i], {
            playerVars: {
                'autoplay': 1,
                'modestbranding': 1,
                'controls': 1,
                    events: {
                'onReady': onPlayerReady
                    }
            },
            videoId: players[i].dataset.id
        });
    }

}

      function onPlayerReady(event) {
        event.target.mute();
      }

先感谢您。


请更改您的代码:

From:

new YT.Player(players[i], {
    playerVars: {
        'autoplay': 1,
        'modestbranding': 1,
        'controls': 1,
        events: {
        'onReady': onPlayerReady
        }
    },
    videoId: players[i].dataset.id
});

To

new YT.Player(players[i], {
    playerVars: {
        'autoplay': 1,
        'modestbranding': 1,
        'controls': 1},
        events: {
        'onReady': onPlayerReady
    },
    videoId: players[i].dataset.id
});

依据示例代码 https://developers.google.com/youtube/iframe_api_reference#Examples谷歌给出的。 Events 元素位于playerVars 元素之外。这里是link https://developers.google.com/youtube/player_parameters#Parameters获取支持的参数列表 int playerVars 元素。

function onYouTubeIframeAPIReady() {
    var player;
    player = new YT.Player('player', {
        videoId: 'M7lc1UVf-VE',
        playerVars: { 'autoplay': 1, 'controls': 0 },
        events: {
            'onReady': onPlayerReady,
            'onPlaybackQualityChange': onPlayerPlaybackQualityChange,
            'onStateChange': onPlayerStateChange,
            'onError': onPlayerError
        }
    });
}

看到这个jsfiddle https://jsfiddle.net/frzwg0bm/1/例如。

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

一次自动静音播放多个 YouTube 视频 的相关文章

随机推荐

  • 网络聊天或 Skype 上不显示 Rich Card 附件

    Rich Card 附件未在网络聊天或 Skype 上显示 但在模拟器上显示正常 如果我使用 ContentType ContentURL 附件包含正确的数据和属性并且工作正常 但如果我使用丰富的卡片附件 它们不会显示在网络聊天或 Skyp
  • 使用 IIS 在同一服务器上为同一站点运行 node.js 和 Web API

    我正在寻找慢慢转换Node js应用程序转移到ASP NET WebAPI 2 0 我目前正在使用IIS并会坚持IIS 因此 我想将它们托管在同一台服务器上 但将一些 URI 定向到新平台 我将如何在web config 目前的web co
  • 使用 ipython 在 pycharm 中获得真正的代码完成

    许多 python IDE 都声称提供代码完成 代码洞察 PyCharm 就是其中之一 然而 在我看来 提供的代码完成是极其有限的 让我举个例子来让大家清楚地了解一下 import numpy as np m np random rando
  • 主线程超过设定的睡眠时间

    public static AtomicInteger num new AtomicInteger 0 public static void main String args throws Throwable Runnable runnab
  • 沿着 CGPath 的渐变

    我正在绘制一个几乎完整的圆弧 CGContextSetFillColorWithColor context UIColor whiteColor CGColor CGMutablePathRef path CGPathCreateMutab
  • jquery ajax 帖子已取消

    我想跟踪一组页面上一组 UI 组件上的鼠标单击事件 为此 我使用以下 jquery ajax 调用 修剪掉 u 1 Ajax调用将添加点击日志记录 myClickLogger endpoint path to my logging endp
  • 静态对象上的shared_ptr好吗?

    我想知道静态对象上的智能指针是否合理 例如 假设我有一些静态资源 并且想要将该静态资源的引用传递给需要这些资源使用的其他对象 一种方法是使用指向该资源的原始指针 但现在我想知道智能指针 shared ptr 是否是更好的方法 如果是 如何正
  • 如何在 MySQL 中将持续时间值存储为 TIME 数据类型?

    我需要以分钟 秒为单位存储歌曲持续时间 我需要使用 TIME 但是当我编写 INSERT 语句时如何引用某个持续时间 我在表中的数据类型已经是 TIME 我应该只使用 STR TO DATE 字符串值 4 29 吗 首先 看一下这里 htt
  • 在 Postgres 字符串数组上创建不区分大小写的索引

    我正在使用一个varchar Postgres 9 2 中的列 varchar 数组 用于存储一些标签 在按标签检索行时 我希望查询不区分大小写 但是 我想保留在 UI 中显示的大小写 因此我不能只将所有内容存储为小写 所以 我的问题是如何
  • 本机链接失败,重复符号:“_main”,同时添加本机 Binding Dll 和 Xamarin.Firebase.iOS.Database

    我尝试使用 NuGet 在我的 Xamarin 项目中添加和实现本机 Binding Dll 和 Xamarin Firebase iOS Database 但由于以下错误 我无法构建我的项目 错误 MT5213 重复符号位于 obj iP
  • 如何将 javascript 变量的值赋给 php 变量

    我有一个表格
  • postgres:复合全文/btree 索引

    我想对一列进行全文搜索并在另一列中进行排序 如果我分别为这两列建立索引 postgres 就不能在此查询中使用这两个索引 有没有办法创建可以在这种情况下使用的复合索引 不幸的是没有 虽然您可以通过以下方式将标量列附加到 GIN 索引btre
  • 求numpy中n个点到m个点之间的平方距离

    我有 2 个 numpy 数组 比如说X and Y 其中每一行代表一个点向量 我想找到 X 中每个点到 Y 中每个点之间的平方欧氏距离 将称为 距离 我希望输出是矩阵 D 其中D i j is dist X i Y j 我有以下基于以下
  • 当传播设置为 Propagation.NOT_SUPPORTED 时 Hibernate 和 TransactionRequiredException

    TL DR 服务方法注释为 Transactional propagation Propagation NOT SUPPORTED Hibernate 5 0 4 Final 一切按预期工作 方法在没有事务的情况下执行 休眠 5 2 5 最
  • 存储变量数据

    我正在使用 ASP NET C MVC3 和 SQL Server 2008 构建一个应用程序 向用户提供一个表格供其填写 姓名 电子邮件 地址等 我希望允许应用程序管理员在此表单中添加额外的动态问题 额外问题的数量和返回的数据类型会有所不
  • Laravel Dusk,DatabaseTransactions 不执行回滚

    我正在使用 Laravel Dusk 以下注册测试工作正常 只是它不会回滚事务 即在 注册 上创建的用户记录始终保留在数据库中 我的表都设置为使用 InnoDB 引擎 对发生的事情有什么想法吗 我在很多地方都放了日志 看起来没有什么特别错误
  • 从专用网卡访问时,Rails 显示 IP 为 127.0.0.1,但 Nginx 显示正确的 IP。公共 IP 转发良好

    我们正在 Unicorn Nginx 上运行 Rails 应用程序 服务器有两个我们使用的网卡 eth0处理公共互联网的请求 以及eth2处理来自我们专用网络的请求 当请求通过时eth0 nginx日志显示公共IP Rails日志也显示此I
  • 在 xcode 中添加另一个团队

    这个问题不是重复的在 xcode 中添加另一个团队 https stackoverflow com questions 32610740 adding another team to xcode or 受邀加入开发团队时如何从 Xcode
  • 如何在 C# 中复制类的实例

    C 有没有办法复制对象 就像是 var dupe MyClass original 我希望它们相等 以便所有数据成员都相同 但不共享相同的内存位置 您可能正在谈论深层复制 深拷贝与浅拷贝 https stackoverflow com qu
  • 一次自动静音播放多个 YouTube 视频

    我正在尝试制作一个使用 YouTube iframe API 来显示多个视频的网页 这些视频在加载时自动开始播放 我希望 4 个视频中的 3 个开始静音播放 但第 4 个视频有音频播放 最后 我尝试创建一个静音 取消静音和暂停 开始按钮 让