You need to enable JavaScript to run this app.
文档中心
企业直播

企业直播

复制全文
下载 pdf
常见问题
iOS 观播 SDK 常见问题
复制全文
下载 pdf
iOS 观播 SDK 常见问题

为什么系统画中画会失败?

问题现象

观众在观看直播、预告或回放视频期间,将 App 切换至后台,但未显示系统画中画。

可能原因与解决方案

  • 观众的移动设备 iOS 版本低于 14.0。
    仅 iOS 14.0 及以上版本支持系统画中画。观众需升级 iOS 版本。

  • 您未在观播 SDK 中开启系统画中画。

    • 如需开启直播视频的系统画中画,代码示例如下所示。

      BDLLiveEngine.sharedInstance.liveRoomConfiguration.playerConfig.common.enableLivePiP = YES;
      
    • 如需开启预告和回放视频的系统画中画,代码示例如下所示。

      BDLLiveEngine.sharedInstance.liveRoomConfiguration.playerConfig.common.enableVodPiP = YES;
      

    说明

    观播 SDK 中系统画中画默认开启。如果您曾修改默认配置,请按照以上代码示例重新开启系统画中画。

  • 观众的移动设备未打开自动开启画中画开关。
    观众需在移动设备的设置 > 通用 > 画中画页面,打开自动开启画中画开关。
    图片

如果问题依然存在,请按照为什么系统画中画会失败、系统画中画中的视频会暂停播放,或直播间的声音异常?中的可能原因与解决方案进行排查与处理。

为什么系统画中画会失败、系统画中画中的视频会暂停播放,或直播间的声音异常?

问题现象

观众在观看直播、预告或回放视频期间,将 App 切换至后台后,出现以下一种或多种现象:

  • 未显示系统画中画。
  • 系统画中画中的视频暂停播放。
  • 直播间无声音或声音听不清。

可能原因与解决方案

在观众进入直播间后,观播 SDK 会将 AVAudioSession 更改为默认配置。在默认配置下,SDK 的系统画中画通常不会出现以上问题。但如果您的 App 使用的其他音视频相关代码在观众进入直播间后调整了 AVAudioSession 的默认配置,则可能导致以上问题。
AVAudioSession 的默认配置如下所示:

  • Category: AVAudioSessionCategoryPlayback
  • Mode: AVAudioSessionModeMoviePlayback
  • routeSharingPolicy: AVAudioSessionRouteSharingPolicyDefault
  • options: 0

请排除调整了 AVAudioSession 默认配置的音视频相关代码。观众再次进入直播间,即可将AVAudioSession 更改为默认配置。

说明

如果问题现象为未显示系统画中画,建议先按照为什么系统画中画会失败?中的可能原因与解决方案进行排查与处理。

为什么观众无法使用 App 的录音功能?

问题现象

观众进入直播间后,无法使用您 App 的录音功能。

可能原因与解决方案

在观众进入直播间后,观播 SDK 会将 AVAudioSession 更改为默认配置。
AVAudioSession 的默认配置如下所示:

  • Category: AVAudioSessionCategoryPlayback
  • Mode: AVAudioSessionModeMoviePlayback
  • routeSharingPolicy: AVAudioSessionRouteSharingPolicyDefault
  • options: 0

如果您想让观众使用录音等需要麦克风的功能,请将 AVAudioSessionCategoryPlayback 变更为 AVAudioSessionCategoryPlayAndRecord、将 AVAudioSessionModeMoviePlayback 变更为 AVAudioSessionModeVideoChat
示例代码如下所示。

NSError *error = nil;
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayAndRecord
                                        mode:AVAudioSessionModeVideoChat
                          routeSharingPolicy:AVAudioSessionRouteSharingPolicyDefault
                                     options:0
                                       error:&error];
[[AVAudioSession sharedInstance] setActive:YES error:&error];

您可以在观众完成录音等需要麦克风的功能的使用后,将 AVAudioSession 更改为默认配置。
示例代码如下所示。

NSError *error = nil;
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback
                                        mode:AVAudioSessionModeMoviePlayback
                          routeSharingPolicy:AVAudioSessionRouteSharingPolicyDefault
                                     options:0
                                       error:&error];
[[AVAudioSession sharedInstance] setActive:YES error:&error];

为什么观众可以正常观看预告和回放,却加载不出直播内容?

确保您创建 SDK 应用时填写的 Bundle ID(项目包名)以及应用创建后生成的 App ID 分别与初始化 TTSDK 时传入的 Bundle ID 和 App ID 相同,同时保证您初始化 TTSDK 时传入的 Bundle ID 和项目配置的 BundleID 一致,否则会出现鉴权失败的问题。

通过 Xcode 15 使用静态库版本的 TTSDK时,编译出现 duplicate symbol 错误怎么办?

Xcode 15 的已知问题导致。详见苹果开发者论坛
您可以在 Xcode 的 App Target 下,单击 Build Settings > Other Linker Flags,并添加 -ld64

最近更新时间:2024.06.19 11:01:23
这个页面对您有帮助吗?
有用
有用
无用
无用