Экспо Аудио остается активным - PullRequest
0 голосов
/ 19 октября 2019

Я пытаюсь слушать музыку (потоковую передачу) в фоновом режиме, но потоковая передача останавливается, когда я открываю другое приложение.

  const soundObject = new Audio.Sound();

  async function playAudio() {
    try {
      await soundObject.loadAsync({
        uri: "http://suaradio2.dyndns.ws:11004/stream"
      });
      await soundObject.playAsync();
      soundObject.setAudioModeAsync({
        staysActiveInBackground: true
      });
      // Your sound is playing!
    } catch (error) {
      // An error occurred!
    }
  }

1 Ответ

1 голос
/ 20 октября 2019

Создана рабочая закуска: https://snack.expo.io/@djalik/staysactiveinbackground

Необходимо установить все параметры setAudioModeAsync:

await Audio.setAudioModeAsync({
        staysActiveInBackground: true,
        interruptionModeAndroid: Audio.INTERRUPTION_MODE_ANDROID_DO_NOT_MIX,
        shouldDuckAndroid: true,
        playThroughEarpieceAndroid: true,
        allowsRecordingIOS: true,
        interruptionModeIOS: Audio.INTERRUPTION_MODE_IOS_DO_NOT_MIX,
        playsInSilentModeIOS: true,
      });
...