这有可能吗?我目前正在使用react-native-track-player
来流式传输音频文件,我希望能够在用户退出应用程序时存储上一个位置,并在用户重新打开应用程序时恢复播放(例如,类似于Spotify的工作方式)
现在我正在通过一个简单的时间间隔跟踪此信息:
this.keepTime = setInterval(async () => {
const state = await TrackPlayer.getState()
if (state == TrackPlayer.STATE_PLAYING) {
const ID = await TrackPlayer.getCurrentTrack()
const position = await TrackPlayer.getPosition()
await AsyncStorage.setItem(ID, String(position))
}
}, 10000)
问题是,我需要清除应用程序移至后台的间隔,否则它将崩溃。我也宁愿只需要调用一次此代码,而不是定期调用。
我知道我可以在Android上使用无头JS,但是该应用程序是跨平台的,因此我的iOS用户体验会更少。
有什么建议吗?