---
# System prepended metadata

title: Autoplay Policy

---

# Autoplay Policy

之前踩到這個雷，所以來看一下這個Policy到底規範了些什麼。

先條列w3c的介紹中我認為比較重要的部分，想看完整版本可以到w3c的網站，底下參考資料有放連結。
* 大部分user agent(網頁領域通常指的是瀏覽器)有特定機制去阻擋自動播放的媒體。
* 這個規範目前只套用在HTMLMediaElement (video and audio)以及Web Audio API，在Web Speech API和animated image (GIF animation)上並不受影響。
* Autoplay Detection API會透過Navigator物件去執行，判定網頁上的媒體是否符合自動播放的條件。


### Autoplay Policy Enum

Autoplay Policy有三種狀態
* allowed: Media are allowed to autoplay.
* allowed-muted: Inaudible media are allowed to autoplay.
* disallowed: No media is allowed to autoplay.

allowed-muted的狀態中，音量等於0、muted="true"、媒體來源沒有音軌三種狀態都符合條件。

大部分瀏覽器會在使用者對media做出操作後才允許autoplay。
<br/>



總結一下，為了提升使用者的體驗，Autoplay Policy因應而生，因此瀏覽器會對媒體做出限制。
* video: 需靜音才能自動播放，可以在使用者操作後透過指令將聲音開啟。
* audio: 無法自動播放，需要使用者與網頁內的元素互動才能開始播放。



<br/>

參考資料:
https://www.w3.org/TR/autoplay-detection/
https://developer.chrome.com/blog/autoplay/

###### tags: `autoplay policy` `autoplay`