

# IVS Web 播放器 SDK 中的已知問題和解決方法
<a name="web-issues"></a>

本文件列出您在使用 Amazon IVS Web 播放器 SDK 時可能遇到的已知問題，並建議潛在的解決方法。
+ 在 iOS 行動裝置瀏覽器 (例如 Safari 或 Chrome) 上播放錄製的內容 (也稱為 VOD) 時，向後搜尋將會使播放器靜音。

  **解決方法：**移至其他影片位置後呼叫 `player.setMuted(false)`。
+ 在 iOS 行動裝置瀏覽器上播放錄製的內容時，直接選擇所需位置時，向後搜尋會間歇性地運作。

  **解決方法：**將拖動條拖曳至所需位置。
+ 在 iOS 行動瀏覽器上播放錄製內容時，`player.seekTo()` 呼叫無法穩定運作。

  **解決方法：**於 `loadeddata` 事件後為影片 HTML 元素設定 `currentTime`。例如：

  ```
  videoEl.addEventListener('loadeddata', () => {
  	videoEl.currentTime = 30; // seek 30s from the beginning
  });
  ```
+ 在 iOS 行動裝置瀏覽器上播放即時串流或錄製的內容時，字幕可能不會以不同的大小呈現，而且可能會重新呈現多次。

  **解決方法**：無。
+ 在 iOS 行動瀏覽器上播放即時串流或錄製內容時，`player.getQualities()` 呼叫未傳回可用品質清單。

  **解決方法**：無。在 iOS 瀏覽器上，播放器僅支援自動品質模式。
+ 啟用本機 HTML5 控制項時，呼叫 `setQuality()` 會遭到忽略。

  **解決方法：**在呼叫 `player.setQuality()` 之前停用 HTML5 控制項。
+ 在 iOS 行動瀏覽器上播放靜音的即時串流時，恢復非使用中的播放器分頁 (例如分頁切換或裝置鎖定/解鎖) 時，可能會出現播放器不穩定 (例如黑色畫面或螢幕凍結、緩衝) 的現象。

  **解決方法：**使用 JavaScript [Page Visibility API](https://developer.mozilla.org/en-US/docs/Web/API/Page_Visibility_API) 偵測頁面可見性變更，然後對播放器採取相應的動作。例如：

  ```
  //if client platform is iOS
  if (!!navigator.platform && /iPad|iPhone|iPod/.test(navigator.platform)) {
      document.addEventListener(“visibilitychange”, () => {
          if (document.visibilityState === “hidden” && player.isMuted()) {
              player.pause()
          if (document.visibilityState === “visible” &&
              player.getState() != PlayerState.PLAYING) {
              player.play()
          }
      })
  }
  ```
+ 在 iOS Safari 上使用 Web 播放器 SDK 時，如果沒有服務工作程序，播放授權無法正常運作，這是因為 iOS 對 Media Source Extensions (MSE) 的支援有限。

  **解決方法：**使用播放器 SDK 實作服務工作程序。請參閱[設定服務工作程序](web-getting-started.md#web-service-worker)和此[示範](https://github.com/aws-samples/amazon-ivs-player-web-sample/blob/master/samples/service-worker/service-worker.ts)。