最近發(fā)現(xiàn)在eaas以及后來的可視化項目中,升級chrome到71版本后,都出現(xiàn)白屏的問題,前后端log也非常正常,webrtc-internals 顯示server數(shù)據(jù)也都沒問題。
各種debug都沒效果后,我把video元素在console里手工全屏,然后發(fā)現(xiàn)原來video一直沒有播放,點擊播放后一切就正常了。
google一番后發(fā)現(xiàn)早在2017.09 chrome就計劃更改video自動播放的政策了。新開窗口(不同domain)里video不能自動播放,除非muted
https://developers.google.com/web/updates/2017/09/autoplay-policy-changes?refresh=1#example_scenarios
終于在2018.11升級到71版本時正式付諸實施,話說這個更改可謂從開始提出就罵聲一片,但google依然我行我素。
https://developers.google.com/web/updates/2018/11/web-audio-autoplay?refresh=1
文檔中有句話是說如果新開窗口和原窗口屬于同一domain,自動播放是沒有影響的。
image.png
然而測試發(fā)現(xiàn)在http協(xié)議下,即使是同一domain, autoplay 也必須是muted才可以。
btw, 動態(tài)生成的video元素插入dom后,直接用setAttribute設置muted, autoplay是沒效果的,https://stackoverflow.com/questions/54246807/video-will-not-autoplay-on-chrome-when-it-is-inserted-into-the-dom。