Fix playing music on Chrome
This commit is contained in:
		
							parent
							
								
									9ffc145834
								
							
						
					
					
						commit
						3ba6f08986
					
				
					 1 changed files with 16 additions and 8 deletions
				
			
		| 
						 | 
				
			
			@ -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();
 | 
			
		||||
        }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Reference in a new issue