Я пытаюсь получить образец звука для воспроизведения в приложении Ionic/Cordova, когда устройство Bluetooth выходит за пределы допустимого диапазона, а устройство iOS находится либо в режиме ожидания (экран заблокирован), либо приложение свернуто на задний план.Воспроизводит ли фоновое воспроизведение с плагином media cord на iOS 10?
Я использую подобную функцию к примеру в Cordova media plugin documentation с функцией, чтобы исправить аудио пути к файлу для Android устройств:
function getMediaURL(url) {
if(device.platform.toLowerCase() === "android") return "/android_asset/www/" + url;
return url;
};
function soundAlarm() {
var mediaUrl = getMediaURL('sounds/alarm.wav');
alarmSound = new Media(mediaUrl, null,
// error callback
function (err) {
console.log("playAudio():Audio Error: " + angular.toJson(err));
});
alarmSound.play({ playAudioWhenScreenIsLocked : true, numberOfLoops: 3 });
}
Это прекрасно работает, когда приложение находится на переднем плане, однако при Я заблокировать телефон или минимизировать приложение, я получаю следующее сообщение об ошибке:
{"message":"","code":4}
Согласно Cordova media plugin documentation, код ошибки 4 означает
MEDIA_ERR_NONE_SUPPORTED
Опция 'playAudioWhenScreenIsLocked', с которой я перехожу в метод воспроизведения, должна обрабатывать проблему, с которой я сталкиваюсь, но я просто получаю вышеуказанную ошибку каждый раз. Кроме того, по умолчанию для этого свойства установлено значение true.
Я не хочу использовать плагин для режима фона, так как эта функциональность должна работать из коробки через плагин media cord, а плагин с фоновым режимом может отклонить приложение из App Store.
Неужели кто-нибудь успел запустить звук, когда приложение находится в фоновом режиме или устройство находится в режиме ожидания?
Вы когда-нибудь это понимали? Сейчас я столкнулся с такой же проблемой. –