我一直在 哔哩哔哩 做直播,想要可以在全屏画面下看到麦克风状态图标,我必须按下 FN 加 F4 查看麦克风的状态。但是我想要在全屏画面下能看到麦克风的状态是不是被静音了。
我觉得得先问一个问题,就是你用的是OBS还是直播姬
OBS 作为推流软件,直播姬做转发来自 OBS 的视频流至服务器
F4 作为麦克风的快捷键的话,按搜索结果来看应该是 戴尔/联想 笔记本的特性?并非 Windows 原生功能。
我感觉先搞清楚这个静音原理是啥再讨论比较好。如果是驱动层面的话可能比较麻烦;如果单纯是把系统麦克风静音的话,理论上找 AI 写个小脚本就可以,不过如果是游戏直播的话有被误判成挂的风险。
装个autohotkey
然后用下面的码一个ahk文件就行,如果需要gui可以问问DeepSeek ![]()
; 获取麦克风的静音状态
muteState := SoundGetMute("", "Microphone")
; 判断状态:1 为静音,0 为非静音
if (muteState = 1)
MsgBox "麦克风当前处于静音状态"
else
MsgBox "麦克风当前未静音"
你提供的代码用不了了
版本不对吗?
; AHK v1 版本
SoundGet, microphone_mute, Microphone, Mute
if (microphone_mute = "On") ; 注意 v1 返回的是 "On"/"Off" 字符串
MsgBox, 麦克风当前处于静音状态
else
MsgBox, 麦克风当前未静音
需要轮询可以试试下面的
#Persistent
SetTimer, CheckMic, 500
lastState := ""
CheckMic:
SoundGet, mute, Microphone, , Mute
if (mute = "On")
state := "静音"
else if (mute = "Off")
state := "未静音"
else
state := "无法读取"
if (state != lastState) {
lastState := state
TrayTip, 麦克风状态, 当前:%state%
}
return
我的是 2.0 版本
也许你可能能用这个来做个插件实现一下?
不知道能不能满足你全屏需求哈… ![]()
因为windows上全屏游戏是无法显示子窗口的 ![]()