一般的印象中,Web的多媒體能力也許就是播放音/視頻,其實,遠不止於此。我們來看看Web應用可以使用哪些多媒體能力,實現什麼樣的多媒體功能。
1 本地媒體設備音/視頻採集
js可以通過調用一組特定的APIs採集攝像頭影像信息、麥克風音頻信息。
相關的標準
Media Capture and Streams - 定義了一組 JavaScript APIs,通過這些APIs,頁面可以請求本地的視頻/音頻。
Media Capture Depth Stream Extensions - 上一個標準的擴展,允許Web應用請求depth-only stream 或者 depth+color stream 。
depth信息包含了攝像頭看到的物體到攝像頭的距離信息,有了這樣的信息,頁端或Web應用可以把手勢做為一種輸入機制,可以對現實環境做3D建模,從而實現一些高級功能。
一些具體的應用,比如:沉浸式遊戲體驗,3D視頻會議,增強現實等。
2 遠程播放控制
簡單的講,就是在Web頁面上實現一個類似遙控器的東東,通過這個遙控器來控制媒體在遠程設備上的播放。
遠程設備:例如連接的TVs,放映機,揚聲器等。這些設備通過有線技術(HDMI,DVI等)和無線技術(Miracast, Chromecast, DLNA, AirPlay, or similar)連接到設備,使得Web可見。
Remote Playback API - 定義了一組可以在Web頁面對遠程媒體播放進行控制的APIs。
具體的應用,比如:頁端視頻投屏到DLNA電視上播放。
3 媒體播放控制
通過給<video>設置不同的屬性,可以對播放行為進行控制,比如自動部分,靜音,循環播放,預載入等。
為了降低電源消耗,設置了autoplay和muted的<video>只有在它變得可見的時候才會開始播放,不可見的時候會暫停播放。
自動播放的行為可能隨著內核版本的變化而變化
4 定製媒體通知
Media Session API – 通過這個API,我們顯示一條關於Web正在播放的媒體通知信息。
類似這樣: