我正在使用 React.js 并且我有一个返回音频的 API:
{
audios: [
"https://thisisanaudiolink",
"https://thisisanaudiolink",
"https://thisisanaudiolink"
]
}
我不想使用 HTML 的音频标签来播放,而是我的自定义按钮。我怎样才能做到这一点?
到目前为止我已经尝试过:
我试过这个循环,但所有按钮只播放最后一个音频:
import React, { useState, useRef } from "react";
const Flashcards = () => {
const [audios, setAudios] = useState([
"https://s3-sa-east-1.amazonaws.com/carneiro/public/card_audios/d7f2a0-5c89ef/4.wav",
"https://s3-sa-east-1.amazonaws.com/carneiro/public/card_audios/d7f2a0-5c89ef/12.wav",
"https://s3-sa-east-1.amazonaws.com/carneiro/public/card_audios/d7f2a0-5c89ef/1.wav"
]);
const audioRef = useRef();
return (
<div>
{
audios.map(audio => (
<div key = {audio}>
<audio
controls = "controls"
preload = "auto"
autobuffer = "true"
style = {{display: "none"}}
ref = {audioRef}
>
<source src = {audio} />
</audio>
<button onClick = {() => audioRef.current.play()}>Play</button>
</div>
))
}
</div>
)
}
export default Flashcards;
绝地无双
相关分类