【发布时间】:2020-11-22 00:54:53
【问题描述】:
我想使用 react.js 创建一个显示我选择的不同歌曲的应用 问题是它不适用于本地文件。路径没问题(刚刚在 DOM 中检查) 相对路径和绝对路径都试过了,还是一样。
我尝试了很多东西,比如导入react-sound、react-audio-player...
我尝试在文件开头使用“import song from”./songs/song.mp3直接导入mp3文件,它可以工作,但它没有用,因为你必须手动添加它,如果你想要添加/删除歌曲。
当我按下播放按钮时,它总是会失败并返回错误:
DOMException: 加载失败,因为找不到支持的源。
import React from "react";
const SongCard = (props) => {
const playAudio = () => {
const audio = new Audio(props.song.path)
const audioPromise = audio.play()
if (audioPromise !== undefined) {
audioPromise
.then(() => {
// autoplay started
console.log("works")
})
.catch((err) => {
// catch dom exception
console.info(err)
})
}
}
return (
<div className="songCard">
<div className="coverContainer">
<img src=""/>
</div>
<div className="infoContainer">
<div className="playPauseButton" onClick={playAudio}>►</div>
<div className="songTitle">{props.song.nom}</div>
</div>
</div>
);
};
export default SongCard;
有人有想法吗?
【问题讨论】:
标签: javascript reactjs audio