#react-native #react-native-sound
Вопрос:
С помощью react-native-sound и таймера react-native-background я хочу воспроизвести звук с задержкой в 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, звуки должны воспроизводиться в фоновом режиме
Ответ №1:
в ios вам нужно сначала включить UIBackgroundModes из Xcode, а затем добавить это в Info.plist.
<key>UIBackgroundModes</key>
<array>
<string>audio</string>
</array>
Комментарии:
1. Большое вам спасибо за ваш ответ, но это не решает проблему :/
2. @Гейлорд. P проверьте скриншот, это из библиотеки react-native-sound
3. Большое вам спасибо за ваш ответ, мне также пришлось добавить в список «обработка»:)