微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

自动播放后自动打开视频音量的Javascript

如何解决自动播放后自动打开视频音量的Javascript

我正在编写一个在线心理学实验。参与者必须观看一部短片并记住一些信息。为了分析数据,每个人都必须看同一部电影,所以如果人们暂停它就会有问题。因此,我禁用了所有控件并自动播放视频。

在 Chrome 上,这仅在播放器开始静音时才有效。所以我想在视频开始后立即自动打开声音。

我正在尝试将以下 html 与托管的视频一起使用 here

<!doctype html>
<html>
  <head>
    <Meta charset="UTF-8">
    <Meta name="viewport" content="user-scalable=no">
  </head>

  <body style="width: 1000px; height: 800px; background-color: grey;">

    <div class="container">
      <div id="video-player"></div>
    </div>
    <script src="https://muse.ai/static/js/embed-player.min.js"></script>

    <script>
      const player = MusePlayer({
        container:'#video-player',video: 'qhRjheS',width: 720,height: 480,autoplay: true,loop: true,volume: 0,style: 'no-controls',shortcuts: false,css: '*{pointer-events:none!important;}',});
      player.on('timeupdate',function(time) {player.setVolume(100)});
    </script>

  </body>
</html>

这一行的问题所在:

player.on('timeupdate',function(time) {player.setVolume(100)});

这在控制台中有效,而视频正在运行,但如果将其放入脚本中,则会崩溃。

谁能想出自动打开声音的方法?如果电影开始后有一点延迟,那也没关系。

解决方法

作为一个实验(不是一个完整的解决方案),我会尝试这样的事情:

setTimeout(() => player.on('timeupdate',() => player.setVolume(100)),3000);

(我冒昧地将您的代码更改为使用箭头函数。)

我怀疑播放器没有立即准备好设置音量,需要一些时间才能完全设置好并准备就绪。我对 MusePlayer 并不特别熟悉,但我会查看文档并查看除了 'timeupdate' 事件之外是否还有其他事件,您希望在设置 'timeupdate' 的侦听器之前首先接收这些事件{1}} 个事件。

,

感谢 kshetline 的输入。 chrome 阻止自动播放对我来说确实是一个问题。但是,添加事件侦听器以在单击时启动电影是一种解决方法。我想自动启动是不可能的,但这样一来,一旦电影开始,所有其他控件仍然处于禁用状态。

document.body.addEventListener("click",function () {
    player.play();
});

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。