You need to enable JavaScript to run this app.
导航
播放器相关问题
最近更新时间:2024.07.10 15:40:50首次发布时间:2023.10.30 16:45:46

自动播放

为什么直播或点播视频无法自动播放或者只能静音自动播放?

企业直播首先尝试非静音自动播放视频。其中,集成了 Web 观播 SDK 的观看页,默认首先尝试非静音自动播放视频,如配置 autoPlay 参数,则首先尝试参数值对应的视频自动播放模式。详见配置参数

问题原因

  • 观众通过微信进入直播间。由于微信策略限制,微信内可能不支持自动播放视频。
  • 观众通过 Safari 浏览器进入直播间且浏览器未允许观看页自动播放视频。有关如何允许观看页自动播放视频,详见 Safari 浏览器使用手册
  • 观众使用低电量模式的 iOS 设备进入直播间。iOS 设备在低电量模式下不支持自动播放视频。
  • 受到浏览器有关自动播放的策略限制,导致在某些浏览器只能静音自动播放视频。如果浏览器既不支持非静音自动播放,也不支持静音自动播放,则观众只能手动点击播放视频。详见自动播放指南Chrome 自动播放策略以及 macOS 自动播放策略

解决方案

如果观众通过您的自有移动端 App 进入直播间且视频无法自动播放或只能静音自动播放,您可以在创建 WebView 时完成以下自动播放配置,实现非静音自动播放。

说明

该方法仅适用于集成了 Web 观播 SDK 以及通过 WebView 将 H5 页面内嵌在 App 中的场景。

  • Android:示例代码如下所示。详见 setMediaPlaybackRequiresUserGesture

    webView.getSettings().setMediaPlaybackRequiresUserGesture(false);
    
  • iOS:示例代码如下所示。详见 mediaTypesRequiringUserActionForPlayback
    Swift 实现

    let configuration = WKWebViewConfiguration()
    // 设置支持非全屏播放
    configuration.allowsInlineMediaPlayback = true
    
    // 适用于 iOS 8.0 以上、9.0 及以下版本
    configuration.mediaPlaybackRequiresUserAction = false
    // 适用于 iOS 9.0 以上、10.0 及以下版本
    configuration.requiresUserActionForMediaPlayback = false
    // 适用于 iOS 10.0 以上版本
    configuration.mediaTypesRequiringUserActionForPlayback = []
    

    OC 实现

    WKWebViewConfiguration * configuration = [[WKWebViewConfiguration alloc] init];
    // 设置支持非全屏播放
    configuration.allowsInlineMediaPlayback = YES;
    // 适用于 iOS 8.0 以上、9.0 及以下版本
    configuration.mediaPlaybackRequiresUserAction = NO;
    // 适用于 iOS 9.0 以上、10.0 及以下版本
    configuration.requiresUserActionForMediaPlayback = NO;
    // 适用于 iOS 10.0 以上版本
    configuration.mediaTypesRequiringUserActionForPlayback = WKAudiovisualMediaTypeNone;