JSFiddle - React, Tailwind, and code Playground
HTML
<button id=start>start</button>
<br>
<div id=logDiv</div>
JavaScript
var context;
start.onclick = () => {
navigator.audioSession.type = "playback";
context = new AudioContext();
const oscillator = context.createOscillator();
oscillator.type = 'square';
oscillator.frequency.setValueAtTime(220, context.currentTime);
oscillator.connect(context.destination);
oscillator.start();
}
navigator.mediaSession.metadata = new MediaMetadata({title: "Web Audio Rocks", artist: "MyPotato", album: "Smashing"});
navigator.mediaSession.setActionHandler("play", () => {
logDiv.innerHTML += "play";
context.resume();
});
navigator.mediaSession.setActionHandler("pause", () => {
logDiv.innerHTML += "pause";
context.pause();
});