gpt4 book ai didi

delphi - 带 Bass.DLL 的简单婴儿监视器

转载 作者:行者123 更新时间:2023-12-03 15:28:19 26 4
gpt4 key购买 nike

我正在尝试为 Windows 编写一个简单的 Babymonitor(个人使用)。婴儿监视器应该只检测麦克风的 dB 级别并在一定音量下触发。

经过一番研究,我找到了 Bass.dll 库,并发现了它的函数 BASS_ChannelGetLevel,这个函数很棒,但似乎有限制,不符合我的需求(峰值等于 DWORD 值) )。

在示例中,我找到了一个 livespec 示例,它“几乎”是我需要的。该示例使用 BASS_ChannelGetData,但我不太知道如何处理返回的数组...

我想让它尽可能简单:检测麦克风的音量为 dB 或任何其他值(例如值 0-MAXINT)。

如何使用 Bass.dll 库来完成此操作?

最佳答案

BASS_ChannelGetLevel 返回上限为 0dB 的值(在本例中返回值为 32768)。如果您调整源级别(声卡设置中较低的麦克风级别),那么它就会正常工作。

另一种方法,如果您想获得无上限的值,请使用 BASS_ChannelGetLevelEx 函数:它返回浮点级别,其中 1 是对应于 BASS_ChannelGetLevel 的 32767 的最大 (0dB) 值,但它可以超过 1 以检测您可能需要的高于 0dB 的声音级别。

我还建议您监视一段时间的声音级别:仅当特定级别存在至少 2-3 秒时才触发(这样您就可以排除误报)。

关于delphi - 带 Bass.DLL 的简单婴儿监视器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40327832/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com