声级达到

时间:2017-01-20 21:01:43

标签: windows hardware

对于我想要制作另一个程序的问题的某些背景知识 对于在后台中运行的个人Windows桌面,当通过耳机检测到某种级别的声音时,它会自动将用户注销。

它是一台Windows 10 PC。我在普通C中有相当多的经验,但我缺乏创建这样的程序的知识。 该程序必须在登录时自动启动,并在后台运行以避免检测。

我真的很难过,我已经环顾四周并问我的Comp Sci朋友,他们也不知道。

[我试图制作这个节目的原因是我有一个弟弟在网上与他的朋友(Skype,Discord,Hangouts等)在我的电脑上玩游戏,他变得非常响亮经常大喊大叫,还有激烈的笑声。 这对于我的家庭来说已成为家庭中的一个大问题,因为他可以从多个楼层和房间听到,特别是在晚上。告诉他要保持安静,限制他的特权不再适用,因为他不相信他太大声了。]

2 个答案:

答案 0 :(得分:1)

看起来ffmpeg volumedetect可以解决实际检测声级的问题。例如,尝试我的MBP(您必须更改Windows机器的输入设备):

$>ffmpeg -hide_banner -f avfoundation -i "none:0" -af "volumedetect" -t 2 -f null /dev/null

Input #0, avfoundation, from 'none:0':
  Duration: N/A, start: 316943.850567, bitrate: 2822 kb/s
    Stream #0:0: Audio: pcm_f32le, 44100 Hz, stereo, flt, 2822 kb/s
Output #0, null, to '/dev/null':
  Metadata:
    encoder         : Lavf57.62.100
    Stream #0:0: Audio: pcm_s16le, 44100 Hz, stereo, s16, 1411 kb/s
    Metadata:
      encoder         : Lavc57.75.100 pcm_s16le
Stream mapping:
  Stream #0:0 -> #0:0 (pcm_f32le (native) -> pcm_s16le (native))
Press [q] to stop, [?] for help
size=N/A time=00:00:02.00 bitrate=N/A speed=0.996x
video:0kB audio:345kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
[Parsed_volumedetect_0 @ 0x7f8ba8726860] n_samples: 178176
[Parsed_volumedetect_0 @ 0x7f8ba8726860] mean_volume: -60.3 dB
[Parsed_volumedetect_0 @ 0x7f8ba8726860] max_volume: -29.9 dB
[Parsed_volumedetect_0 @ 0x7f8ba8726860] histogram_29db: 4
[Parsed_volumedetect_0 @ 0x7f8ba8726860] histogram_30db: 0
[Parsed_volumedetect_0 @ 0x7f8ba8726860] histogram_31db: 6
[Parsed_volumedetect_0 @ 0x7f8ba8726860] histogram_32db: 10
[Parsed_volumedetect_0 @ 0x7f8ba8726860] histogram_33db: 18
[Parsed_volumedetect_0 @ 0x7f8ba8726860] histogram_34db: 10
[Parsed_volumedetect_0 @ 0x7f8ba8726860] histogram_35db: 12
[Parsed_volumedetect_0 @ 0x7f8ba8726860] histogram_36db: 36
[Parsed_volumedetect_0 @ 0x7f8ba8726860] histogram_37db: 42
[Parsed_volumedetect_0 @ 0x7f8ba8726860] histogram_38db: 48

这会在麦克风输入源上运行ffmpeg 2秒钟,并生成音频音量(分贝)的直方图,以及平均音量和最大音量级别(这就是您想要的)。

您可以使用ffmpeg作为库并将其嵌入到您选择的应用程序中。

答案 1 :(得分:-2)

虽然由于音量不会自动触发,但您可以使用网络上的其他设备远程关闭他所在的计算机。 Windows 10的步骤可能略有不同,但您应该能够弄明白。请注意,如果您仍希望通过音量触发它,下面的指南仍然有用,因为它显示了如何执行关机部分。

http://www.online-tech-tips.com/computer-tips/remote-shutdown-command/

简单地说,步骤如下(阅读指南,因为它更具体,带图片):

<强> 1。在目标计算机上启用远程关机

  • 控制面板,网络和共享中心,更改高级共享设置 &#34;私人&#34;启用&#34;打开文件和打印机共享&#34; [more info]
  • 修改注册表(首先保存注册表备份)HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
  • 添加新的DWORD LocalAccountTokenFilterPolicy,其值为1

<强> 2。创建将关闭/重新启动计算机的批处理文件

  • 如果您打算通过音频触发它,可以在目标计算机上,否则使用远程关机命令:
  • shutdown /m \\computername /r /f
    • /r - 重新启动计算机
    • /f - 强制程序立即关闭

如果您尝试这些步骤并仍然获得拒绝访问权限#34;,您可以尝试this solution

net use \\<computer>
shutdown -r -m \\<computer name>