新版iOS系统safari无法用 VideoPlayer 播放视频?

如题,突然发现浏览器里无法播放视频了,就是控件直接看不到, android可以.
连上mac用safari远程调试看到下面这个异常,

[Error] Unhandled Promise Rejection: NotAllowedError: The request is not allowed by the user agent or the platform in the current context, possibly because the user denied permission.
(anonymous function)
rejectPromise
play
play (cocos2d-js-for-preview.js:40881)
play (cocos2d-js-for-preview.js:40605)
play (cocos2d-js-for-preview.js:18977)
videoPlayerEvent (VideoPlayer.js:74)
emit (cocos2d-js-for-preview.js:14882)
emitEvents (cocos2d-js-for-preview.js:14867)
onMetaLoaded (cocos2d-js-for-preview.js:18953)
onMetaLoaded
_dispatchEvent (cocos2d-js-for-preview.js:40653)
onloadedmetadata (cocos2d-js-for-preview.js:40813)

查了下资料貌似是苹果去年新增的限制?
https://webkit.org/blog/7734/auto-play-policy-changes-for-macos/
https://github.com/jwplayer/jwplayer/issues/2421
https://www.reddit.com/r/webdev/comments/71nkym/safari_11_has_a_major_change_to_web_audio_api/
不知道是不是跟这个有关系…

@panda 请问下这个应该找谁?

@jare 请问下这个问题是只有我自己遇到吗 。。测试过引擎版本1.7.0和1.8.2都是这样, 需要的话我可以发demo出来

@wangzhe 只能@你这个首席客服了,为什么没人说一句话呢…

这边也遇到了。Cocos2d-x 的 web 版本在 iOS 11.2 上的 Safari, 和 macOS 10.13 的 Safari 11.1 有同样问题,按照

https://webkit.org/blog/7734/auto-play-policy-changes-for-macos/

提到的方式:

var promise = document.querySelector('video').play();

if (promise !== undefined) {
    promise.catch(error => {
        // Auto-play was prevented
        // Show a UI element to let the user manually start playback
    }).then(() => {
        // Auto-play started
    });
}

可以 catch 到 error,这个应该是需要在引擎的 js 代码中处理。