diff --git a/src/App.js b/src/App.js index e2d9425..07d339d 100644 --- a/src/App.js +++ b/src/App.js @@ -13,6 +13,7 @@ const App = () => { [title, setTitle] = useState('Stream Radio'), [currentListeners, setCurrentListeners] = useState(0), [maxListeners, setMaxListeners] = useState(0), + [playPause, setPlayPause] = useState(false), audioElmRef = useRef(null), once = useRef(false), audioAnalyzer = () => { @@ -29,16 +30,24 @@ const App = () => { } setAnalyzerData({ analyzer, bufferLength, dataArray }) }, - play = useCallback(async () => { + play = () => { if (audioElmRef.current) { - await audioElmRef.current.play() + audioElmRef.current.play().then(() => { + setPlayPause(true) + }).catch(err => { + console.error('Error playing audio: ' + err.message) + }) } - }, [audioElmRef]), - pause = useCallback(async () => { + }, + pause = () => { if (audioElmRef.current) { - await audioElmRef.current.pause() + audioElmRef.current.pause().then(() => { + setPlayPause(false) + }).catch(err => { + console.error('Error pausing audio: ' + err.message) + }) } - }, [audioElmRef]), + }, loadData = () => { fetch('/stream.json').then(response => response.json()).then(json => { setJson(json) @@ -112,7 +121,7 @@ const App = () => {