android fft程序,Android Visualizer FFT数据取决于音量

在Unity中编写Android插件时遇到问题,发现使用Visualizer的getFft()获取的FFT幅度受音量影响,音量大小直接影响返回值。已尝试设置Visualizer的缩放模式为归一化,并检查了Equalizer设置,但问题依然存在。代码显示用于计算FFT幅度的部分,但尝试的解决方案如setVolumeControlStream()未成功。问题在VR模式下依然存在,期待解答。
摘要由CSDN通过智能技术生成

我正在为使用Android Visualizer类的Unity应用程序编写插件.我正在使用getFft() function和提供的代码来获取FFT幅度.返回的值取决于音量-较高的音量表示较高的值,较小的音量则较小.

这是我初始化可视化器的构造函数:

private PluginClass() {

errors = new int[2];

int size = Visualizer.getCaptureSizeRange()[1];

// Equalizer

Equalizer mEqualizer = new Equalizer(0,0);

// Visualizer

this.visualizer = new Visualizer(0);

this.visualizer.setEnabled(false);

mEqualizer.setEnabled(true);

this.visualizer.setCaptureSize(size);

if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {

this.visualizer.setScalingMode(SCALING_MODE_NORMALIZED);

this.visualizer.setMeasurementMode(MEASUREMENT_MODE_PEAK_RMS);

}

this.visualizer.setEnabled(true);

this.waveFormData = new byte[size];

this.fftData = new byte[size];

}

我正在设置均衡器

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值