

# 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 [页面可见性 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 对媒体源扩展 (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)。