我有以下代码,需要能够在电话上收听麦克风并使用该值在某种形式的可视化器上以图形方式显示:
Timer micTimer = new Timer();micTimer.schedule(new TimerTask(){ @OverrIDe public voID run(){ int x = MediaRecorder.getAudioSourceMax(); Log.v("Timer", "" + x); }}, 0, 100);
我知道这可能很正确.在课程的稍后部分,我将使用AudioRecorder对象记录声音以进行一些后期处理.在这里我不想录制任何东西,只是在可视化器上显示声音.该代码中的日志仅每100毫秒输出数字6.它可以与自动调整增益有关吗?如果是这样,我该如何解决?
解决方法:
好吧,对不起,Sam,但如果不进行录音,您无法从麦克风获得振幅.我开发了一个与此非常相似的应用程序.您必须开始记录,调用getMaxAmplitude()函数(将返回0),稍等片刻,然后再次调用它,它将返回自上次调用该函数以来的最大幅度.调查NoiseAlert app.确实帮助了我.
另外,作为一个旁注,在我的研究中,我发现使用MediaRecorder对象更容易,因为它没有自动增益.您会得到麦克风真正听到的声音.
总结以上是内存溢出为你收集整理的java-未录制时麦克风输入的返回幅度全部内容,希望文章能够帮你解决java-未录制时麦克风输入的返回幅度所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)