MediaSession:playbackState 屬性

可用性有限

此特性不是基線特性,因為它在一些最廣泛使用的瀏覽器中不起作用。

playbackState 屬性是 MediaSession 介面的一部分,它指示當前媒體會話是正在播放還是已暫停。

一個字串,指示媒體會話的當前播放狀態。該值可以是以下之一:

none

瀏覽上下文當前不知道當前的播放狀態,或者播放狀態目前不可用。

paused

瀏覽器的媒體會話當前已暫停。播放可以恢復。

playing

瀏覽器的媒體會話當前正在播放媒體,可以暫停。

示例

以下示例設定了兩個用於播放和暫停的函式,然後將它們用作相關操作處理程式的 callbacks。每個函式都利用 playbackState 屬性來指示音訊是正在播放還是已暫停。

js
const actionHandlers = [
  // play
  [
    "play",
    async () => {
      // play our audio
      await audioEl.play();
      // set playback state
      navigator.mediaSession.playbackState = "playing";
      // update our status element
      updateStatus(allMeta[index], "Action: play  |  Track is playing…");
    },
  ],
  [
    "pause",
    () => {
      // pause out audio
      audioEl.pause();
      // set playback state
      navigator.mediaSession.playbackState = "paused";
      // update our status element
      updateStatus(allMeta[index], "Action: pause  |  Track has been paused…");
    },
  ],
];

for (const [action, handler] of actionHandlers) {
  try {
    navigator.mediaSession.setActionHandler(action, handler);
  } catch (error) {
    console.log(`The media session action "${action}" is not supported yet.`);
  }
}

規範

規範
媒體會話
# dom-mediasession-playbackstate

瀏覽器相容性