Test URL: https://downloads.scirra.com/labs/audioCodecTests/ On Safari 15.4 on macOS 12.3, WebM Opus playback works correctly both with canPlayType(), <audio> and decodeAudioData. On Safari 15.4 on iPadOS 15.4, WebM Opus playback is not detected with canPlayType(), does not play with <audio>, but it does actually work if passed to decodeAudioData. Support for WebM Opus should be consistent across platforms - i.e. iPadOS should indicate it is supported with canPlayType() and allow it to be played with <audio>. Note: since Web Audio does not provide any way to do feature detection for supported codecs, canPlayType() is the de facto way to test for Web Audio format support. So supporting a codec with decodeAudioData that does not indicate support in canPlayType() is more or less useless as no content will detect that it can use it with Web Audio.
<rdar://problem/91345972>
This still reproduces in iOS 15.5. Is there any update on this? Is it being worked on? This is, I think, the last thing preventing WebM Opus being an audio format that can be relied upon to work across all browsers in a cross-platform way. If Apple is serious about cross-browser interoperability then issues like this need to be dealt with.
This still reproduces in iOS 16.1. Has anyone got any update on this? It's driving me crazy that we've waited something like 10 years for open audio codec support in all browsers, Safari has long been the last holdout, and now it sort of supports it... but it's still broken on iOS, which means we still can't rely on an open audio codec that works everywhere. Surely this is meant to be supported on iOS? Is there any plan for when it is meant to be implemented and working? Can anyone provide any kind of update about this at all? It would be a shame if this were interpreted as Apple intentionally resisting open media codecs, given the current situation with competition and regulation. At least some remark from an Apple employee could help dispel this approach, but with no feedback at all it is increasingly difficult to know what to make of this. It's not been working properly for over a year now.
At this stage, webm is only supported on macOS and iPadOS. Not iOS.
Thanks for the response. However it doesn't add up with what Apple have shipped. WebM Opus works with decodeAudioData on iOS but not with <audio>. This alone is the sole thing preventing WebM Opus - a free and open codec - working across the entire web. Can you confirm that Apple is working on adding support for this? I am running out of options to figure out what is going on here and unless there is clearer information provided, the only recourse is to continue complaining to regulators and ask them to mandate browser competition on iOS, as I can't think of anything else that might provide incentive to finally sort out things like this.
I'd also add that I have tested iPadOS and it's not supported there either. I only see it fully supported on macOS.
It's a shame proper OPUS support isn't part of https://web.dev/interop-2022/
This still reproduces for me on iOS 17. There is no support for WebM Opus on iOS devices, although Web Audio is supported, exactly as per the original issue.
As of Safari 17.4, at long long last, it seems WebM Opus is now finally supported consistently across iOS and macOS devices. However issue 245428 still reproduces and continues to block us using WebM Opus in Safari. Meta point: nobody from Apple has updated this issue, so as usual we are left to figure things out for ourselves.