使用react-native-sound和react-native-background-timer,我想在延迟 10 秒后播放声音。
这是我非常简单的代码:
import BackgroundTimer from 'react-native-background-timer'
import Sound from 'react-native-sound'
Sound.setCategory('Playback')
const soundEnd = new Sound('end.mp3', Sound.MAIN_BUNDLE)
const Timer = () => {
useEffect(
() => {
const timeoutId = BackgroundTimer.setTimeout(() => {
console.log('END setTimeout')
soundEnd.play(() => {})
}, 10000)
return () => {
BackgroundTimer.clearTimeout(timeoutId)
}
},
[]
)
}
- 当应用程序处于前台时,在 Android 和 iOS 上一切正常:播放声音并
console.log('END setTimeout')
显示 - 但是当应用程序在 iOS 上的后台时,声音不会播放(但
console.log('END setTimeout')
显示得很好)
你能帮助我吗 ?根据react-native-background-timer,声音应该在后台播放