如何测试视频是否在不被静音的情况下内联播放?
我自己尝试过创建一小段自动播放小视频 (20kb) 的脚本。根据视频是否“正在播放”返回一个 bool 值。
它似乎正在工作。在 iOS 上,它返回 false。在桌面上它返回 true。
但是,我想获得第二个意见,这是否是运行测试的正确方法。
JS:
var $video = $('video');
$video.on( 'loadstart', function(){
setTimeout(function(){
alert( isUnmutedInlineSupported() ? 'supported' : 'unsupported' );
}, 500);
});
function isUnmutedInlineSupported(){
if( !$video[0].paused && $video[0].currentTime > 0 ) {
//playsinline unmuted supported
return true;
} else {
//playsinline unmuted unsupported
return false;
}
}
HTML:
<video playsinline loop autoplay poster="https://placehold.it/1600x900">
<source src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/214327/html5-video-sound-test.mp4" type="video/mp4" />
</video>
https://codepen.io/hassforshort/pen/baXrXo
Best Answer-推荐答案 strong>
这是检查视频是否已开始播放的最佳方式。由 webkit 推荐 https://webkit.org/blog/7734/auto-play-policy-changes-for-macos/
|