All Server Guides Troubleshooting

Audiobookshelf stops playing between chapters on iOS

Why audiobook playback stops at the end of each track on iOS Safari and how to fix it with single-file M4B books or a native app

Since iOS 17, WebKit blocks web pages from switching audio tracks while backgrounded. If your audiobooks are stored as multiple files (one per chapter), the Audiobookshelf web player stops at the end of each file when your phone is locked or you switch apps. This affects Safari, Chrome, Brave, and every other browser on iOS since they all use WebKit.

The Audiobookshelf maintainer confirmed this is a WebKit limitation, not something the ABS web player can fix.

Installing ABS as a PWA (Add to Home Screen) doesn’t help either. The only difference is that playback resumes automatically when you reopen the PWA, instead of needing a manual pause/play.

Workaround 1: Use single-file M4B books

If your audiobook is a single .m4b file with embedded chapters, there’s no track-switching happening. The player just seeks within one file. iOS has no problem with that in the background.

If you have multi-file audiobooks, you can merge them into a single M4B using tools like:

This is a real fix, but it means re-processing your library. Not ideal if you have hundreds of books.

Workaround 2: Use a native iOS app

This is the actual solution. A native iOS app doesn’t have WebKit’s background restrictions. It can switch tracks, manage the audio session, and keep playing no matter what you’re doing on your phone.

SoundLeaf is built specifically for this. It’s a native Audiobookshelf client that handles background playback the way you’d expect. Chapters keep going, sleep timers work, and you can control everything from the lock screen and Control Center. No workarounds needed.

The Audiobookshelf team has their own official iOS app, but the TestFlight beta has been full for a long time. Other native options include Plappa which several users in the issue thread recommended.

Workaround 3: Brave with background audio (sometimes)

The ABS maintainer initially got background playback working in Brave browser with the “Background Audio” setting enabled. But other users couldn’t reproduce this, and it seems to depend on the iOS version and device. Worth trying, but don’t count on it.

Affected versions

This is an iOS/WebKit issue, not an Audiobookshelf version issue. Users have reported it on Apple’s forums as well. It affects:

  • iOS 17 and later (confirmed by the maintainer)
  • Every browser on iOS (Safari, Chrome, Brave, Orion, Firefox, since they all use WebKit)
  • Both the web player and PWA
  • Multi-file audiobooks only (single M4B files are fine)

Android users on Chrome are not affected. Firefox on Android has a similar but separate issue. There is a W3C Audio Session API draft in progress that could eventually help web players manage audio properly, but it’s not available yet.