Я использую буфер AudioContext для воспроизведения звука, как только событие, основанное на php-скрипте отправленного сервером события, приходит к клиенту - PullRequest
0 голосов
/ 10 апреля 2019

Я использую буфер AudioContext для воспроизведения звука, как только событие, основанное на php-сценарии отправленного сервером события, приходит к клиенту.

Звук отлично работает на настольных компьютерах и на большинстве мобильных устройств, но не работаетв iPhone Safary.

testiky.addEventListener('message', () => {

let audioCtx = new (window.AudioContext || window.webkitAudioContext)(); let xhr = new XMLHttpRequest();

xhr.open('GET', 'sooundsource.mp3'); xhr.responseType = 'arraybuffer';
xhr.send();

var event_source = new EventSource("eventsource.php");
event_source.addEventListener('message', function(e) { var sse_response = JSON.parse(e.data);
console.log(sse_response);
let playsound = (audioBuffer) => {
let source = audioCtx.createBufferSource();
source.buffer = audioBuffer;
source.connect(audioCtx.destination);
source.loop = false;
source.start();
setTimeout(function () {
playsound(audioBuffer);
});
};
audioCtx.decodeAudioData(xhr.response).then(playsound);

Пожалуйста, есть идеи, что изменить, чтобы звук воспроизводился и в iPhone?

Спасибо большое!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...