javascript - 像 SoundManager2 示例代码一样构建用于播放的 Howler.js 脚本?

标签 javascript html5-audio howler.js

In this question 您可以找到用于音频播放的 SoundManager2 和 Howler.js 代码示例。

我基本上使用该页面中的 SoundManager2 脚本 - 进行了一些修改,如下面的代码片段所示。

在我的 HTML5 浏览器应用程序中,我可以使用此脚本通过调用声音 id(“Song1”)和函数(例如“playAudio”)来简单地播放声音。

我的问题:
如何构建 Howler.js 脚本以获得相同的功能
→ 通过调用声音 id 和正确的函数来播放声音?

Howler.js Documentation

    <!DOCTYPE html>
    <script type="text/javascript" src="api/soundmanager2.js"></script>
    <script>
        soundManager.setup({
    	url: 'api/',
    	onready: function() {

    soundManager.createSound({
        id: 'Song1',
    		url: 'audio/Song1.ogg'
        });
      },
    });
    function playAudio(snd) {
        soundManager.play(snd);
    }
    function stopAudio(snd) {
        soundManager.stop(snd);
    }
    </script>

最佳答案

Howler.js 是一个简单的 API,因此它没有内置此功能,但只需创建一个带有对象的 map 就足够了:

var Song1 = new Howl({
  src: 'audio/Song1.ogg'
});
var Song2 = new Howl({
  src: 'audio/Song2.ogg'
});

var sounds = {
  Song1: Song1,
  Song2: Song2,
};

function playAudio(snd) {
  sounds[snd].play();
}

function stopAudio(snd) {
  sounds[snd].stop();
}

关于javascript - 像 SoundManager2 示例代码一样构建用于播放的 Howler.js 脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48367124/

相关文章:

javascript - 一个 f.select 正在影响同一表单中的另一个 f.select 吗? (不需要)

javascript - 重定向到远程表单,填写并提交

audio - JPlayer Circle Player不会第一次显示由vox制成的wav文件的圆形

javascript - 音频无法在Howler.js中播放

javascript - 如何在howlerjs中使声音结束时淡出?

javascript - HTML5 网络应用程序中的音频文件播放列表?

javascript - React虚拟化-选择自定义选项样式

JavaScript:基于唯一类限制选中的允许框的数量

javascript - jQuery - mousemove 在元素之外不起作用

javascript - 如何发送 AJAX POST 请求并在响应中播放音频?