https://jsfiddle.net/kaldenfi/rpmk93wm/3/
<div ng-app="myApp" ng-controller="testCtrl">
<section ng-if="url">
<video id="player1" playsinline autoplay loop muted volume="0.0">
<source ng-src="{{url | trusturl}}" type="video/mp4"> Your browser does not support the video tag.
</video>
</section>
</div>
更新为chrome 64后,这不再使我的视频静音。如果我将视频带到ng-if和硬编码之外,那么它的工作原理应该是
任何解决方案?
答案 0 :(得分:0)
好的,找到了一个临时解决方案,如果我将ng-if移动到@Output
标签,它会将其正确静音。
Chrome 64必须在页面首次加载时正在寻找任何视频标签,所以如果你的视频标签没有加载,它就不会运行静音标签
答案 1 :(得分:0)
我在Ember应用程序中遇到了同样的问题。
我有两个解决方案:
<video>
标记移至index.html,就像您类似地执行init
或window.onload
挂钩上调用的函数
mutePlayer1VideoHack() {
const player1Video = document.getElementById('player1');
player1Video.setAttribute('muted', true);
}
我在#2中添加了Hack
的函数名称,如果这是一个真正的Chrome 64错误,将会修复。对于我的案例,我将使用解决方案#1