我正在编写一个在线心理学实验。参与者必须观看短片并记住一些信息。要分析数据,每个人都必须看同一部电影,因此如果人们暂停它,这将是一个问题。因此,我禁用了所有控件并自动播放视频。
在chrome上,仅当播放器开始静音时,此功能才起作用。所以我想在视频开始后自动打开声音。
我正在尝试使用以下html与视频托管在这里
<!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)});
当视频运行时,这在控制台中工作,但如果将其放入脚本中,则会崩溃。
有人能想出办法自动打开声音吗?如果电影开始后有一点延迟,那就可以了。
2条答案
按热度按时间v64noz0r1#
作为一个实验(不是完整的解决方案),我会尝试以下方法:
(我擅自更改了代码以使用箭头函数。)
我怀疑播放机没有立即准备好音量设置,需要一段时间才能完全设置并准备好。我不太熟悉museplayer,但我会看看文档,看看除了
'timeupdate'
事件,您希望在设置'timeupdate'
事件vkc1a9a22#
感谢kshetline的输入。chrome阻止自动播放对我来说确实是个问题。但是,添加事件侦听器以在单击时启动电影是一种变通方法。我想autostart是不可能的,但这样一来,电影开始后,所有其他控件仍然处于禁用状态。