頁面直接寫了video元素像這樣:
<video src='...' controls poster='.../img.jpg' />
在瀏覽器看着封面顯示正常,但是在ios的微信中打開,封面卻不顯示,完全是黑的。又看了下安卓的微信環境,沒有問題,正常顯示。
此時將代碼實現方式改爲:
<video controls="controls" poster="img/poster.jpg" >
<source src='...' type="video/mp4">
</video>
這樣,如果你的src是固定的,比如 src='http://...', 這樣寫的,那現在ios跟安卓應該都不會有問題了。如果你的src是動態獲取到的,然後才綁定到 source 的src上,vue什麼的雙向綁定應該不會出問題,如果是純js代碼賦值,比如用jq的$("#video").attr('src',videoUrl); 這個時候就會出問題,如果 ‘video’ 這個id在source上,安卓的視頻就播放不了了,如果在video標籤上,ios的poster又顯示不出來了。
這時可以用,直接設置video內html的方式做(id在video標籤上),
var videoUrl = '...'
let v = document.getElementById('video')
v.innerHTML=`<source src=${videoUrl} type="video/mp4">`
這樣就解決了。