当我在我的expo本地应用程序中调用TrackPlayer destroy方法时,我得到了TrackPlayer错误。
这是我的密码
the service.ts
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
import TrackPlayer from 'react-native-track-player'
...
...
TrackPlayer.registerPlaybackService(() => require('./service'));这是我App.tsx中的App.tsx配置
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')
})
}, [])React.useLayoutEffect(() => {
initializeTrackPlayer()
}, [])因此,我正在监听远程事件,比如从Android上的通知栏中监听,如果我单击play/ TrackPlayer.destroy(),它可以正常工作,但是当我单击将触发TrackPlayer.destroy()方法的TrackPlayer.destroy()图标时,它会给出上述错误-- TrackPlayer.destroy()不是一个函数。
如果我在应用程序中调用TrackPlayer.destroy()方法,也会产生相同的错误。
请问错误的原因是什么?
提前感谢
发布于 2022-08-18 11:44:28
我已经知道了出了什么问题,destroy函数在我安装它之前几分钟就从react-native-track-player上删除了,现在大概是15 - 20小时了。
以及更多关于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.
发布于 2022-08-18 00:46:35
你的react-native-track-player版本是什么?在2.2.0-rc3和2.2.0-rc4版本中有一些bug,也许是您的情况。如果是的话,你必须升级到最新的版本。
看看这个问题。
https://stackoverflow.com/questions/73395467
复制相似问题