如何判断当前的麦克风是否有人说话?
我的软件向实现一个音频的功能,当有人说话就马上打开麦克风,当没人说话就关闭麦克风。我现在的思路是通过检测麦克风的传入声音的分贝数,来判断是否有人说话。但是现在不知道怎么获取当前麦克风的传入的音量。
有谁做过这样的例子吗?或者有更好更简单的方法实现这种功能,可以分享下吗?
[最优解释]
传入声音的分贝数这个不靠谱吧,声音也有背景声音(不含说话声)如果这个声音达到了你要求的那不是也会打开麦克,楼主一定要这样做也不是不可,IMixer类的GetMic1Volume 可获取麦克风的音量。
[其他解释]
麦克风关闭着,还能获取到声音,声音是不是通过麦克风传进去的么?
[其他解释]
这个问题单靠声卡是无法做到的,可以考虑在音频输入前增加一个硬件做检测
[其他解释]
LZ,你的说法就有问题啊,什么叫“当有人说话就马上打开麦克风”,麦克风没打开,你怎么知道有没有人
说话啊。你只能随时采集数据,然后根据1秒或者一定量数据算音量来判断。