3

我目前正在使用react-native-track-player版本1.1.8从 Internet 流式传输音频。它工作正常(react-native版本0.61.4

我现在想在后台模式下使用它,以便在我的应用程序处于后台模式时能够继续收听广播。

我按照https://react-native-kit.github.io/react-native-track-player/background/的说明进行操作,所以在 xCode 中添加功能就足够了。

它不起作用,所以我也添加

TrackPlayer.updateOptions({
    stopWithApp: false
});

但仍然无法在 iOS 13 上的真实设备上运行。当应用程序进入后台时,我可以看到此消息:

Can't end BackgroundTask: no background task exists with identifier 1 (0x1),
or it may have already been ended. 
Break in UIApplicationEndBackgroundTaskError() to debug.

但是断点没有提供额外的信息。

在后台模式下对这个音频库有任何想法或经验吗?谢谢!

4

2 回答 2

2

iOS 13 中的后台权限结构似乎发生了变化。

我遇到了同样的问题并通过以下方式解决了它:

  1. 勾选后台处理以及后台模式: 在此处输入图像描述
  2. 允许的后台任务调度程序标识符添加到 Xcode(信息选项卡)上的我的应用程序目标,并将我的应用程序标识符作为值。
于 2019-12-09T11:44:49.273 回答
1

1.勾选后台处理以及后台模式:

背景模式

2.将允许的后台任务调度程序标识符添加到 Xcode(信息选项卡)上的我的应用程序目标,并将我的应用程序标识符作为值。

<key>BGTaskSchedulerPermittedIdentifiers</key>
<array>
    <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
</array>
于 2021-03-25T20:27:58.353 回答