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,14 +67,22 @@ class MusicPlayer extends React.Component<MusicPlayerProps, State> {
}
if (this.props.playing) {
source
.play()
.then(() => {
console.info("Started playing audio");
})
.catch((error) => {
console.error(`Could not play audio: ${error}`);
});
// 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
.play()
.then(() => {
console.info("Started playing audio");
})
.catch((error) => {
console.error(`Could not play audio: ${error}`);
});
});
} else {
source.pause();
}