首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在react中播放一次mp3 onClick?

如何在react中播放一次mp3 onClick?
EN

Stack Overflow用户
提问于 2019-01-10 00:11:52
回答 7查看 23.9K关注 0票数 20

我有一个非常小的mp3,我想播放一次在我的react应用程序的公共文件夹中,有这么多不同的解决方案播放音频,但没有一个是简单的react,我尝试了react-360,但有一个模块出现了问题。

我试过一些react音频库,但它们似乎是用于音频播放器的,我不需要播放按钮、暂停和音量之类的东西。只是想要一个简单的音效

代码语言:javascript
复制
class App extends Component {
  render() {

    var audio = new Audio("../public/sound.mp3")

    return (
      <Container>
            <img src={dwight} onClick={ audio.play() }/>
      </Container>
    );
  }
}

(单击图像时播放的声音)

EN

回答 7

Stack Overflow用户

发布于 2019-11-17 04:20:26

钩子版本(React 16.8+):

最低版本。

将音乐文件(mp3)放在公用文件夹中。

代码语言:javascript
复制
import React from 'react';

function App() {
  let audio = new Audio("/christmas.mp3")

  const start = () => {
    audio.play()
  }

  return (
    < div >
      <button onClick={start}>Play</button>
    </div >
  );
}

export default App;
票数 43
EN

Stack Overflow用户

发布于 2021-04-08 12:38:21

您可以使用import语句导入音频,然后创建一个audio对象并使用实例化的对象调用play()方法。

代码语言:javascript
复制
import React from "react";
import audio from './../assets/audios/success.mp3';

class AudioTest extends React.Component{

  playAudio = () => {
    new Audio(audio).play();
  }

  render() {
    return (
        <div>
          <button onClick={this.playAudio}>PLAY AUDIO</button>
        </div>
    );
  }
}

export default AudioTest;
票数 5
EN

Stack Overflow用户

发布于 2019-01-10 00:17:14

你需要传递一个触发播放的函数:

代码语言:javascript
复制
<Container>
    <img src={dwight} onClick={ () => audio.play() }/>
 </Container>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54114171

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档