达到声音级别时自动注销Windows

对于这个问题的一些背景,我正在寻找另一个程序为我的个人Windows桌面在后台运行,当通过耳机检测到一定程度的声音 ,它会自动login用户。

它是一个Windows 10电脑。 在C语言中我有相当的经验,但是我缺乏创build这样的程序的知识。 程序必须在login时自动启动,并在后台运行以避免检测。

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

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

看起来像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作为一个库,并将其嵌入到你选择的应用程序中。

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

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

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

1.在目标计算机上启用远程关闭

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

2.创建一个将关闭/重新启动计算机的批处理文件

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

如果您尝试这些步骤,仍然“拒绝访问”,您可以尝试此解决方案 :

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