Audio Autoplay in Chrome

If you have added audio to a Book Page or Simulation you may have noticed that the audio does not always start automatically when you play the content back in Chrome (or Edge/Chromium). This behavior is typically limited to the first Book Page you open in a Book, and the audio does (miraculously) start on the second Book Page. (Which I personally work around by clicking the Next button on the first page, then clicking the Previous button to go back again – but users can’t be expected to know to do this!) With simulations it is worse, because if you have your simulations to play 100% hands-free (in Demo mode; remember audio only applies to Demo mode) audio never starts. This is all, unfortunately, a limitation of Google Chrome – although you’re probably grateful it does this in other situations. Let me explain.

Chrome has a deliberate, in-built policy of not auto-starting audio on websites. This is to prevent intrusive audio from suddenly starting when you least expect it – think annoying advertisements, or you’re in a library, at work, and so on. (You’ll notice that for videos on commercial websites, the video may start but the audio is muted – this is the same policy at work.). The actual Chrome policy is:

  • Autoplay with sound is (only) allowed if:
    • The user has interacted with the domain (click, tap, etc.).
    • On desktop, the user’s Media Engagement Index (MEI) threshold has been crossed, meaning the user has previously played video with sound.
    • The user has added the site to their home screen on mobile or installed the PWA on desktop.

You can find more information on this (including what the MEI and PWA are) here, but for our purposes we are only interested in the first point: “The user has interacted with the domain”. This is why clicking over to the next page and then back again makes the audio start – because you are officially ‘interacting with the domain’!

So, what can you do about it? In short, not a lot. At least not for a casual at-home user. However, Chrome does provide a solution if you are using Chrome Enterprise. This is through the use of a Registry Entry named AutoplayAllowlist. This specifies the (Internet) domains for which audio should be allowed to play automatically. For example, to allow (cloud) SAP Enable Now content to play automatically, you could use a Registry Entry of:

Software\Policies\Google\Chrome\AutoplayAllowlist\1 = [*.]cloud.sap

(Disclaimer: I’ve not tried this myself, as I don’t have access to Chrome Enterprise, but this is the information Google provides here. If you do have access to Chrome Enterprise, and try it, please post a comment below, letting us know whether it works.)

So if you are implementing SAP Enable Now at a company that has Chrome Enterprise Edition, I’d strongly suggest working with the IT group to get this Registry Entry put in place on all user’s PCs. You may find it easiest (or at least find you have less resistance / questions from IT) if you request this at the same time you ask them to set up the browser whitelisting.

If you don’t have this option (either the IT group won’t do it, or you’re running ‘regular’ Chrome), you basically need to ‘force’ the user to perform an initial interaction with the content, so that the (next piece of) audio will start automatically. One technique I have used effectively for books, is to have a button (actually a speaker icon) on the first page, that has a ToolTip (or text box by it) that says something to the effect of “This presentation includes audio. Click here to test your speaker.” and then have the On Click action play some small piece of audio in your Workarea (I have a clip of me saying “Yep, that’s working”). To the learner it looks like they’re just testing their sound, but really they are performing that first interaction that will then allow subsequent audio to play. (Of course, if you have audio on your first page, you need to consider when that plays, as if it starts before the learner tests their audio they won’t hear it). For simulations, you may want to not have audio on the first Step and not have the Step auto-advance (set Display Duration to -1), so the user has to click the Next button – which, again, will count as an interaction.

One final option you have (at least when testing) is to disable Chrome’s autoplay policy by launching Chrome with the switch shown below:

chrome.exe --autoplay-policy=no-user-gesture-required

(You can enter this at the Windows Command Prompt, but make sure you change to the directory containing chrome.exe, first. On Windows 10 this is typically C:\Program Files (x86)\Google\Chrome\Application. Note that you need to do this for the first instance of Chrome you open (if you already have Chrome running, the switch won’t be applied) – so close down any Chrome sessions you have open, before (re)launching Chrome using the above command line.

Other than that, all you can do is educate your Learners that this is how it works. Just make sure they understand this is a Chrome limitation, and nothing SAP Enable Now, or SAP more broadly, has any control over.