0

我正在寻求在 react-vr 中使用过 Web Audio API 的人的意见。React-VR 已经有非常酷的组件可以在场景中放置声音,但是,我需要一步一步访问音频缓冲区,这可以通过 Web Audio 提供的 AudioContext 轻松实现。

在我的 client.jsinit()中,我可以在 vr 实例中找到音频上下文

function init(bundle, parent, options) {   
   const vr = new VRInstance(bundle, 'WelcomeToVR', parent, {
      ...options,   
   });

  audioCtx = vr.rootView.context.AudioModule.audioContext._context; //HERE

  vr.render = function() { };   
  vr.start();

  return vr; 
 }

我正在努力弄清楚如何公开音频上下文。一旦我退出 init() 函数,它的作用域就结束了。是否有另一种方法可以访问 index.vr.js 中的音频上下文?

4

1 回答 1

0

我有同样的问题......我可以设置音频上下文:

audioOsc._setAudioContext(vr.rootView.context.AudioModule.audioContext._context;)

而在 client.js 里面,它的 console.logs 就好了。但...

在我的 AudioOsc 模块中:

AudioOsc.getAudioContext(this.getAc, this.getAc);

其中this.getAc是一个回调(根据 reactvr 文档)注销一个空对象。

然而...

在我的 AudioOsc 模块中,我可以创建一个振荡器并将其连接到一个目的地,它会一直嗡嗡作响。所以在我看来,实际上没有办法将上下文从 Native Module 传递到 ReactVR 并再次返回......他们在途中的某个地方吃掉了这个对象。

如果事情发生变化,我很想知道!否则,我认为我们可能不得不自己创建大量的音频模块。

于 2018-04-23T06:57:48.833 回答