重新设置的值可以用作数字值的本机“回调”吗?

问题描述

我正在开发一个项目,该项目包括使用麦克风的dB值(十进制值范围从-60.0到0.0)进行简单的音频可视化,该项目用于驱动Animated.Value。我发现采样音频幅度的最简单方法是从本地公开一种方法,然后在麦克风录制时进行轮询,例如:

// pseudocode
const dBVal = useMemo(() => new Animated.Value(0),[]);
const audioRef = useRef()

useEffect(() => {
  const poll = async () => {
    const val = await audioRef.current.getCurrentDBVal();
    dBVal.setValue(val);
    poll();
  };
  poll();
},[value]);

<AudioRecorder ref={audioRef} />
<Visualization dBVal={dBVal} />

但是,如果我能将Animated.Value本身通过网桥发送并直接在本机端更新Animated.Value,那将是很棒的。这似乎与如何将手势数据分配给Animated.Value而不用在每次更新时都需要在桥上进行旅行很相似,但是我找不到使用这种方式使用Animated.Value的任何文档。>

这就是我希望做的:

// pseudocode
const dBVal = useMemo(() => new Animated.Value(0),[]);
<AudioRecorder dBValCallbackNode={dBVal} />
<Visualization dBVal={dBVal} />

有人在做类似的事情吗?这有可能吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)