我有一個頁面,如下所示HTML5視頻源不跳過在移動瀏覽器
<video>
<source src="high-quality.webm"/>
<source src="low-quality.webm"/>
</video>
我不能保證兩個high-quality.webm
和low-quality.webm
可在視頻元素,所以我依靠瀏覽器同時檢查(從第一個開始)並採取可以播放的第一個。說
如果未指定
type
屬性,媒體的類型從服務器檢索和檢查,看看是否瀏覽器可以處理它;如果無法呈現,則檢查下一個source
這在所有桌面瀏覽器上都能很好地工作。但是在移動瀏覽器上,如果high-quality.webm
不存在,則不播放low-quality.webm
。
Android開發工具報告如下:
StagefrightMetadataRetriever無法創建 'my.server.com/path/to/high-quality.webm' 數據源。
MediaResourceGetter無效網址:了java.lang.RuntimeException:失敗的setDataSource:狀態= 0x80000000的
如果我換high-quality.webm
和low-quality.webm
(我可以保證low-quality.webm
始終可用),沒有瀏覽器將尋找high-quality.webm
因爲他已經找到了可玩的來源。
我想避免服務器端檢查哪些源可用。文檔聽起來像瀏覽器會爲我做的工作。
TL;博士
你能告訴我一個辦法發揮high-quality.webm
如果是可用的,並且low-quality.webm
如果沒有,在移動瀏覽器(如它完美的桌面上)?
你能詳細說明你的意思嗎?你的意思是404?爲什麼只有部分時間才能使用? – brianchirls
我描述的視頻元素是我們用於成千上萬不同文件夾的不同視頻的模板的一部分,但是在此計劃之後命名(類似於'abcdefgh'的uuid被轉換爲文件夾'/ ab/cd/ef/gh /')。有些資源是高質量的,所以我們將它們命名爲「高質量.webm」,並用ffmpeg創建一個「低質量.webm」。索姆資源不是,所以我們無法提供高質量的版本,並且該文件夾僅包含「低質量.webm」。 (在我看來,最好將視頻命名爲獨特的,而不是它們的路徑,但是觸摸我們的整個文件夾結構太昂貴了)。 –