Fix playing music on Chrome

pull/6/head
Tristan Daniël Maat 2022-07-31 14:58:33 +01:00
parent 9ffc145834
commit 3ba6f08986
Signed by: tlater
GPG Key ID: 49670FD774E43268
1 changed files with 16 additions and 8 deletions

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();
}