howler.js icon indicating copy to clipboard operation
howler.js copied to clipboard

No sound on IOS 26

Open kostiask1 opened this issue 5 months ago • 4 comments

The Problem

HI, i am using redux-sounds 3.1.1 (also tried 4.0.0), which uses Howler in its turn. I init middleware with uploading sounds to it, which inits them with Howler. The problem is on IOS 26 there is no sound emmited. I debugged console - nothing is muted, speakers set normaly, volume is ok, state is running, but on call bufferSource.start nothing happens.

Reproducible Example

https://y6wlgkvoy.csb.app/

Reproduction Steps

Call sound sprite on ios 26

Possible Solution

No response

Context

No response

Howler.js Version

v2.2.4

Affected Browser(s)/Versiuon(s)

Chrome, Safari

kostiask1 avatar Oct 29 '25 07:10 kostiask1

Update: there is sound if you put headphones on. Then after disconnect sounds works fine. That's weird, because source to output sounds seems to set correctly in the first place

Image

kostiask1 avatar Oct 29 '25 08:10 kostiask1

We received similar reports on iOS 26 and after investigation found that the issue was occurring on phones with silent mode enabled. I used this website as a minimal working example. If this is the case for you, which might be likely since you mentioned it working after plugging in headphones, then:

AudioContext is not allowed to play audio by itself, it needs a HTMLMediaElement also playing (can be an empty file) or you can set navigator.audioSession.type to playback to bypass silent mode's restrictions. Both will override the main media playback for the phone, which could be disruptive to users.

Giacom avatar Oct 30 '25 10:10 Giacom

Hello, i got the same problem on ios26 too. Have you resolved it? I have called "Howler.ctx.resume()" on my first touch, and saw Howler.ctx.state change to "running" state, but still no sound. When i hide the safari to background and went back to safari, the sound play. That's too weird.

ForeverZack avatar Dec 06 '25 06:12 ForeverZack

Hello, i got the same problem on ios26 too. Have you resolved it? I have called "Howler.ctx.resume()" on my first touch, and saw Howler.ctx.state change to "running" state, but still no sound. When i hide the safari to background and went back to safari, the sound play. That's too weird.

Yeah, just use html5 instead

kostiask1 avatar Dec 06 '25 09:12 kostiask1