HTMLAudioElement issues in iOS 17.4

We have an angular/ionic based app that has an audio playback feature. It appears that iphone (but not ipad) users who upgrade to iOS 17.4 can no longer play audio in our app. iPad users who upgraded to 17.4 don't have an issue.

We use the HTMLAudioElement for audio playback. It appears that in 17.4 it is no longer firing the 'canplay' event that we listening for, for starting our playback. The other data buffering events like 'loadeddata' are also not being delivered. By changing the logic to listen for the 'loadstart' event, audio playback works and then the remaining 'canplaythrough' and 'canplay' are delivered. In other words, I need to start playback before any data buffering status events are delivered, otherwise they never get delivered. I am testing this against an audio delivery server on my same machine and have confirmed that the data is correctly delivered.

Is anyone else experiencing a similar issue on iphones in iOS 17.4?

Has someone found any solution?

I changed the event from "loadeddata" to "loadedmetadata", and all started working as before. Maybe this fix can help you

Hello. yes, I have a similar problem, with ios 17.2 the app works well with webview streaming audio, but with ios 17.4 nothing reproduces for me. mp3 audio that I have in the app works, but streaming does not

Hi, I found the same issue by accident and it means our music playing service is no longer working. I can confirm that the loadeddata event no longer fires on iphone. But it DOES work on Ipad, same code, same IOS 17.4. This is very concerning because we have had a lot of playback issue on IOS due to the requirement of user interaction to start a play (caused a lot of headaches) and now using the buffer preload and play method stops working silently for iphone only. Apple, can you please investigate this and resolve?

HTMLAudioElement issues in iOS 17.4
 
 
Q