Fix playing music on Chrome

This commit is contained in:
Tristan Daniël Maat 2022-07-31 14:58:33 +01:00
parent 9ffc145834
commit 3ba6f08986
Signed by: tlater
GPG key ID: 49670FD774E43268

View file

@ -67,6 +67,13 @@ class MusicPlayer extends React.Component<MusicPlayerProps, State> {
} }
if (this.props.playing) { if (this.props.playing) {
// Chrome is super awkward about AudioContext, and won't
// even allow creating one without complaining about
// wanting user input, so we need to resume the context
// before we can actually play.
//
// Luckily, this has no adverse effects on Firefox.
context.resume().then(() => {
source source
.play() .play()
.then(() => { .then(() => {
@ -75,6 +82,7 @@ class MusicPlayer extends React.Component<MusicPlayerProps, State> {
.catch((error) => { .catch((error) => {
console.error(`Could not play audio: ${error}`); console.error(`Could not play audio: ${error}`);
}); });
});
} else { } else {
source.pause(); source.pause();
} }