reactjs - 从非导入的 src 播放音频
问题描述
我想用 reactjs 播放音频,并且 src 来自数据库并动态更改 src。
所以我可以播放我导入的音频,但如果我不导入它,我会收到错误消息:
HTTP "Content-Type" of "text/html" is not supported. Load of media resource http://localhost:3000/audio-lib/soundTest.mp3 failed.
我该如何替换它:state = { audioSrc: soundTest}; 通过这样的方式:state = { audioSrc: "../audio-lib/soundTest.mp3"};
此代码有效,但我想删除导入:
// I don't want this import
import soundTest from "../audio-lib/soundTest.mp3"
...
state = { audioSrc: soundTest};
...
render () {
return(
<audio
controls
ref={ ref => this.player = ref} >
<source src={this.state.audioSrc} type="audio/mp3"/>
</audio>
);
}
解决方案
为了解决这个问题,我使用了 react-sound 包。使用这个组件,很容易从作为 props 传递的 url 加载声音。npm 文档: https ://www.npmjs.com/package/react-sound
推荐阅读
- swift - 存在 NavigationView 时,SwiftUI macOS 无法更改主菜单
- react-native - 反应本机密码显示隐藏
- python - python ABC & 多重继承
- c# - 当用户在带有 Angular 应用程序的 .NET Core 3 中使用 Serilog 登录系统时,如何插入日志条目
- jenkins-pipeline - Jenkins 流水线和条件阶段
- node.js - Next Js 找不到下一个模块
- google-sheets - 谷歌表格打印卡在“发送到 chrome print”
- docker - 我无法启动 minikube
- java - 'File.createNewFile()' 的结果被忽略
- angular - 如何让 Jest 正确转换 node_modules/@nativescript/core?Jest + NativeScript + Angular + Nx