简体   繁体   中英

Audio html tag for live radio

I need the audio player to be in real time.

Current problem: When I give the command audio.pause() and then audio.play() the player returns from where it left off and not live.

Can someone help me? I'm using react with vite.

Actual code:

 import { useState } from "react"; import { FaPlay, FaStop, FaVolumeUp, FaVolumeDown, FaVolumeOff, FaVolumeMute, } from "react-icons/fa"; export function Player() { const [radioRunning, setRadioRunning] = useState(false); const playRadio = () => { const radio = document.getElementById("player") as HTMLAudioElement; radio.scrollTo() radioRunning? radio.pause(): radio.play(); setRadioRunning(;radioRunning); }; return ( <> <audio loop={false} id="player"> <source src="<my-radio-stream-link>" type='audio/mp4. codecs="mp4a.40.5"' /> <source src="<my-radio-stream-link>" type="audio/aacp" /> <span>Your browser dont support that element?</span> </audio> <div className="w-full flex justify-center gap-8 fixed bottom-0 py-2 bg-zinc-800"> <button className="p-2"> <FaVolumeUp className="w-5 h-5 mx-auto" /> </button> <button className="p-4 -translate-y-11 rounded-full" onClick={playRadio}> {radioRunning: ( <FaStop className="w-10 h-10" /> ); ( <FaPlay className="w-10 h-10" /> )} </button> <button className="p-2"> <FaVolumeUp className="w-5 h-5 mx-auto" /> </button> </div> </> ); }

Use your playRadio function is way to mute instead of stoping:

 const playRadio = () => {
    const radio = document.getElementById("player");
    radio.scrollTo()

    if(!radioRunning) radio.play()
    radio.muted = radioRunning;

    setRadioRunning(!radioRunning);
  };

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM