resonance-audio / resonance-audio-web-sdk

Resonance Audio SDK for Web
https://resonance-audio.github.io/resonance-audio/
Apache License 2.0
200 stars 56 forks source link

Spatial audio doesn't work in iOS12.01 safari #22

Open KeiNitta opened 5 years ago

KeiNitta commented 5 years ago

Hi. I tried resonance Audio SDK for web in (iOS12.0.1/safari & OSX10.13.6/safari) . But it did't work at all. Official Web sample didn't play any sound in this environments.

In iOS11.2.5, it seems to work well. Would anyone tell me this reason?

hoch commented 5 years ago

Just to clarify: Safari on iOS 11.2.5 = Working Safari on iOS 12.0.1 = Not working Safari on OSX 10.13.6 = Not working

Do you see any error messages in the developer console?

KeiNitta commented 5 years ago

@hoch Thank you for reply. In iOS 12.0.1 and OSX10.13.6, Hello world Demo show these message when push play button. There was nothing error message.

[Log] [Omnitone] Version 1.0.6 (running Safari 12.0.1 on Mac OS X) (@144.00ms) (resonance-audio.min.js, line 166) [Log] [Omnitone] Safari detected. Appliying polyfill... (@144.00ms) (resonance-audio.min.js, line 166) [Log] [Omnitone] FOARenderer: Initializing... (mode: ambisonic) (@280023.00ms) (resonance-audio.min.js, line 166) [Log] [Omnitone] BufferList: 2 AudioBuffers from Base64-encoded HRIRs loaded successfully. (@280231.00ms) (resonance-audio.min.js, line 166) [Log] [Omnitone] FOARenderer: HRIRs loaded successfully. Ready. (@280232.00ms) (resonance-audio.min.js, line 166)

hoch commented 5 years ago

I think this is related to CORS issue. I am seeing the same problem when I run Omnitone example: https://rawgit.com/GoogleChrome/omnitone/master/examples/foa-renderer.html

MediaElementAudioSource outputs zeroes due to CORS access restrictions for https://rawgit.com/GoogleChrome/omnitone/master/examples/resources/4ch_B_FuMaNorm_FuMaOrd_speech.wav

At least Chrome Canary (72.0.3599.0) produces this error, so I can track it from there.

ubershmekel commented 3 years ago

I can confirm:

To summarize - this issue is definitely caused by CORS. But there might be more problems too.