我在touchstart后播放某些音频时遇到了问题。 我有以下代码,在Chrome 57中运行:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Play Media on user touch</title>
</head>
<body>
<div id="play">Click me to play audio!</div>
<script type="text/javascript">
document.querySelector('#play').addEventListener('touchstart', function() {
new Audio('http://techslides.com/demos/samples/sample.mp3').play()
})
</script>
</body>
</html>
警告:无法执行“play”操作于“HTMLMediaElement”上:API只能由用户手势启动。 错误:未捕获的(在承诺中)DOMException:play()只能由用户手势启动。
难道touchstart不被视为用户手势吗?这是故意的行为还是一个bug?