You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

React Native中react-native-track-player锁屏音频小部件暂停后消失的解决方法求助

React Native中react-native-track-player锁屏音频小部件暂停后消失的解决方法求助

各位React Native开发者们,我最近遇到个棘手的问题,想请大家帮忙支支招!

我用React Native CLI(不是Expo)开发了一款音频播放App,核心依赖是react-native-track-player库。音频播放状态下一切都很正常:锁屏上的媒体小部件能正常显示,既能控制播放、暂停,也能看到曲目元数据,但一旦我暂停音频,这个小部件要么直接消失,要么就被系统里其他音频App(比如Spotify、Apple Music)的小部件给替换掉了。我想实现像主流音乐App那样的效果——就算音频暂停了,锁屏的媒体小部件也能一直保持可见且稳定。

我已经折腾了好几种方法,但都没解决问题:

  • TrackPlayer.updateOptions里设置了alwaysPauseOnInterruption: false等各类播放选项
  • 配置了完整的capabilitiescompactCapabilities,包含Play、Pause、Stop、切歌这些核心控制项
  • 初始化Player的时候加了waitForBuffer: true这类参数
  • 甚至尝试在iOS原生代码里手动维持音频会话,防止会话被系统终止

我当前用的updateOptions代码片段是这样的:

await TrackPlayer.updateOptions({
  stopWithApp: false,
  capabilities: [
    Capability.Play,
    Capability.Pause,
    Capability.Stop,
    Capability.SkipToNext,
    Capability.SkipToPrevious,
  ],
  compactCapabilities: [Capability.Play, Capability.Pause],
  alwaysPauseOnInterruption: false,
});

补充下设备和环境信息:

  • 测试设备:iPhone 13,iOS 17.x
  • 开发工具:用Xcode进行编译和调试

我的核心需求就是让锁屏媒体小部件在音频暂停时也能持久显示,和Spotify、YouTube Music这些App的表现一致。有没有什么我没考虑到的配置项,或者iOS原生层的变通方法能解决这个问题?麻烦大家给点思路,万分感谢!

火山引擎 最新活动