【发布时间】:2022-05-11 17:14:19
【问题描述】:
我正在尝试使用 React 播放位于目录中的每个音频文件。我可以按如下方式播放一个文件,但我不想导入每个文件,因为文件夹中有 70 个文件:
import {useEffect} from 'react';
import audio1 from '../../Storage/Audio/1.wav';
const Mp3player = () => {
const audioEl = new Audio(audio1);
const handlePlay = () =>{
audioEl.play();
}
useEffect(() => {
audioEl.load();
}, []);
return (
<div>
<h1>Player </h1>
<button onClick={handlePlay}> Play </button>
</div>
);
}
export default Mp3player;
我试过这个:
import {useEffect} from 'react';
const r = require.context('../../Storage/Audio', false, /\.(wav)$/);
let audios = [];
r.keys().forEach((item) => {audios.push('file:../../Storage/Audio/' + String(item).substring(2))});
console.log(audios)
const Mp3player = () => {
const audioEl = new Audio(audios[0]);
console.log(audios[0]);
const handlePlay = () =>{
audioEl.play();
console.log("playing");
}
useEffect(() => {
audioEl.load();
}, []);
return (
<div>
<h1>Player </h1>
<button onClick={handlePlay}> Play </button>
</div>
);
}
export default Mp3player;
但是播放文件没有成功。
如何导入和播放所有音频文件并将它们放入数组或对象中?
编辑:我的 .wav 文件被命名为 1.wav 到 70.wav,如果有帮助的话。
谢谢。
【问题讨论】:
标签: reactjs file import html5-audio