首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TrackPlayer.destroy不是一个函数

TrackPlayer.destroy不是一个函数
EN

Stack Overflow用户
提问于 2022-08-17 22:16:32
回答 2查看 401关注 0票数 0

当我在我的expo本地应用程序中调用TrackPlayer destroy方法时,我得到了TrackPlayer错误。

这是我的密码

the service.ts

代码语言:javascript
复制
import TrackPlayer, {Event} from 'react-native-track-player';

module.exports = async function(): Promise<void> {
// This service needs to be registered for the module to work
// but it will be used later in the "Receiving Events" section
TrackPlayer.addEventListener('remote-play' as Event, () => TrackPlayer.play());

TrackPlayer.addEventListener('remote-pause' as Event, () => TrackPlayer.pause());

TrackPlayer.addEventListener('remote-stop' as Event, () => TrackPlayer.destroy());
}

我把它导入了我的index.js

代码语言:javascript
复制
import TrackPlayer from 'react-native-track-player'
...
...
TrackPlayer.registerPlaybackService(() => require('./service'));

这是我App.tsx中的App.tsx配置

代码语言:javascript
复制
import TrackPlayer, {Capability} from 'react-native-track-player'
...

const initializeTrackPlayer = React.useCallback(async () => {
await TrackPlayer.setupPlayer({
  waitForBuffer: true,
})

await TrackPlayer.updateOptions({
  stoppingAppPausesPlayback: true,
  capabilities: [
      Capability.Play,
      Capability.Pause,
      Capability.SkipToNext,
      Capability.SkipToPrevious,
      Capability.Stop,
      Capability.SeekTo,
  ],
  compactCapabilities: [
    Capability.Play, 
    Capability.Pause,
    Capability.SkipToNext,
    Capability.SkipToPrevious,
    Capability.SeekTo,
    Capability.Stop,
  ],
  icon: require('./assets/icon.png')
})
}, [])
代码语言:javascript
复制
React.useLayoutEffect(() => {
  initializeTrackPlayer()
}, [])

因此,我正在监听远程事件,比如从Android上的通知栏中监听,如果我单击play/ TrackPlayer.destroy(),它可以正常工作,但是当我单击将触发TrackPlayer.destroy()方法的TrackPlayer.destroy()图标时,它会给出上述错误-- TrackPlayer.destroy()不是一个函数。

如果我在应用程序中调用TrackPlayer.destroy()方法,也会产生相同的错误。

请问错误的原因是什么?

提前感谢

EN

回答 2

Stack Overflow用户

发布于 2022-08-18 11:44:28

我已经知道了出了什么问题,destroy函数在我安装它之前几分钟就从react-native-track-player上删除了,现在大概是15 - 20小时了。

这是到PR https://github.com/doublesymmetry/react-native-track-player/pull/1645/files#diff-67806635aecad4c3ddf7d36728b6510a7904dcab82efb6b775bff19f77d6b7b1的链接。

以及更多关于it的详细信息,https://github.com/doublesymmetry/react-native-track-player/releases/tag/v3.0

从公共关系

On Android, the audio service can't be manually stopped by the app anymore. The OS itself decides when to stop it.

票数 1
EN

Stack Overflow用户

发布于 2022-08-18 00:46:35

你的react-native-track-player版本是什么?在2.2.0-rc3和2.2.0-rc4版本中有一些bug,也许是您的情况。如果是的话,你必须升级到最新的版本。

看看这个问题

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73395467

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档