gpt4 book ai didi

javascript - 使用howler.js或其他库环绕3d音效?

转载 作者:行者123 更新时间:2023-12-02 23:29:04 25 4
gpt4 key购买 nike

我正在做一个项目,我需要添加3d声音效果,就像声音在听众效果周围不断移动一样。有可能通过howlerjs实现这一点,我看到通过howler我可以从特定的坐标/方向播放声音,但是如何实现环绕/歧义的声音?
还是JavaScript中的另一个库来实现这一目标?

谢谢你的帮助。

最佳答案

迟到了半年,但是是的,在howler.js中完全有可能,我自己没有使用过它,但是从文档中判断,您可以更新职位。我发现有更多的库可以执行此操作,请在此处检查3dage如何完全满足您的要求:
https://codepen.io/naugtur/pen/QgmvOB?editors=1010

  var world = IIIdage.World({
tickInterval: 200
})

var annoyingFly = IIIdage.Thing({
is: ['fly'],
sounds: {
'buzzing constantly': {
sound: 'buzz',
times: Infinity
}
},
reacts: [
{
// to: world.random.veryOften(),
to: world.time.once(),
with: 'buzzing constantly'
}
]
})

// scene should create and expose a default world or accept one
var scene = IIIdage.Scene({
title: 'Annoying fly',
library: {
sounds: {
'buzz': {
src: ['https://webaudiogaming.github.io/3dage/fly.mp3']
}
}
},
world: world,
things: [ // scene iterates all things and spawns them into the world. same can be done manually later on.
annoyingFly({
pos: [-1, -15, 0],
dir: [1, 0, 0],
v: 1
})
]
}).load().run()


setTimeout(function () {
scene.dev.trace(IIIdage.dev.preview.dom())
}, 500)


setInterval(function rotateVector() {
var angleRad = 0.15
var d=scene.things[0].attributes.dir
var x=d[0], y=d[1]
var cosAngle = Math.cos(angleRad), sinAngle = Math.sin(angleRad)

scene.things[0].attributes.dir = [x * cosAngle - y * sinAngle, y * cosAngle + x * sinAngle, 0]
}, 500)

window.scene = scene

还有一些其他人也做类似的事情:
  • https://www.npmjs.com/package/songbird-audio
  • https://www.npmjs.com/package/ambisonics

  • 希望如果您仍然需要帮助,可以将您推向正确的方向。

    关于javascript - 使用howler.js或其他库环绕3d音效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57112502/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com