1 回答

TA貢獻(xiàn)1946條經(jīng)驗(yàn) 獲得超4個(gè)贊
所有按鈕將播放最后一個(gè)音頻的原因是因?yàn)槟鷩L試將所有音頻與一個(gè)參考綁定,每個(gè)音頻參考相互覆蓋直到最后一個(gè)音頻。有幾種方法可以實(shí)現(xiàn)你想要的。最簡單的方法是創(chuàng)建單獨(dú)的組件來處理您的音頻播放按鈕。例如:
function AudioPlayer({ src }) {
const audioRef = useRef();
return (
<div>
<audio
controls = "controls"
preload = "auto"
autobuffer = "true"
style = {{display: "none"}}
ref = {audioRef}
>
<source src={src} />
</audio>
<button onClick = {() => audioRef.current.play()}>Play</button>
</div>
);
}
然后你可以在你的audio.map
audios.map(audio => <AudioPlayer src={audio} />);
添加回答
舉報(bào)