小编Col*_*eed的帖子

如何使用sails.js连接bower组件?

我希望能够通过bower安装Javascript依赖项并在sails.js应用程序中使用它们,但我无法找到一种方法来解决这个问题,只需将粘贴文件从bower_components文件夹复制到Sails资源文件夹.

理想情况下,我认为我想使用requirejs,并指向凉亭的部件main.js的文件.我可能会试图在一个圆孔中敲一个方形钉,如果有的话请告诉我.components/libraries欢迎任何有关管理Sails的想法.

javascript dependency-management bower sails.js

42
推荐指数
3
解决办法
1万
查看次数

Web Audio API:如何仅在左声道或右声道播放单声道音源?

是否有一种(简单)方式来接收单声道输入并仅在左声道或右声道播放?我想我可以通过ScriptProcessing节点做到这一点,但如果有打算处理这种情况我真的想知道一个节点.API有一个关于混音的部分,但我没有看到任何关于如何以这种方式操纵频道的代码.

请注意,我已经试过了声像节点,但它似乎并没有真正切断左自右声道,我不希望任何声音从一个通道到其它出血.

web-audio-api

7
推荐指数
1
解决办法
2405
查看次数

如何停止Web音频脚本处理器并清除缓冲区?

我试图找出一种方法来阻止Web音频脚本处理器节点运行,而无需断开它.

我最初的想法是将"onaudioprocess"设置为"null"以阻止它,但是当我这样做时,我听到一个非常短的音频循环播放.我的猜测是音频缓冲区没有被清除或者什么东西而且它重复播放相同的缓冲区.

我尝试了一些额外的技术,比如首先将缓冲区通道数组的值设置为0,然后将"onaudioprocess"设置为"null",这仍然会产生一个循环切片的音频而不是静音.

我有一些代码如下(coffeescript)

context = new webkitAudioContext()
scriptProcessor = context.createScriptProcessor()

scriptProcessor.onaudioprocess = (e)->
  outBufferL = e.outputBuffer.getChannelData(0)
  outBufferR = e.outputBuffer.getChannelData(1)
  i = 0
  while i < bufferSize
    outBufferL[i] = randomNoiseFunc()
    outBufferR[i] = randomNoiseFunc()
    i++
  return null
return null
Run Code Online (Sandbox Code Playgroud)

然后,当我想要阻止它

stopFunc1: ->
  scriptProcessor.onaudioprocess = null
Run Code Online (Sandbox Code Playgroud)

我还尝试将缓冲区通道数组设置为0,然后将回调设置为null

stopFunc2: ->
  scriptProcessor.onaudioprocess = (e)->
    outBufferL = e.outputBuffer.getChannelData(0)
    outBufferR = e.outputBuffer.getChannelData(1)
    i = 0
    while i < bufferSize
      outBufferL[i] = 0
      outBufferR[i] = 0
      i++
    scriptProcessor.onaudioprocess = null
    return null
  return null
Run Code Online (Sandbox Code Playgroud)

这两种技术都会产生一段非常快速循环的音频,而不是没有音频.

有没有办法正确地做到这一点,还是我只是想错了?

任何帮助非常感谢.

javascript html5 web-audio-api

6
推荐指数
1
解决办法
3507
查看次数