问题描述
我正在开发一个项目,该项目包括使用麦克风的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 (将#修改为@)