电脑没声音 / 麦克风 / 摄像头 / 蓝牙耳机 / 投屏 自查(Windows 10 / 11)
安全铁律(每次都要遵守)
- 只读诊断,不改任何设置。 不改默认设备、不调音量、不解除静音、不开隐私开关、不启用/禁用设备、不装/不更新驱动、不切换投影模式、不重启服务。需要改的,只把「点哪里」的步骤告诉用户,让他自己点。
- 不需要管理员权限、不联网、不上传任何信息。 脚本只调用 Windows 自带的读取接口和几条写死的只读 PowerShell 命令(都以 Get- 开头),不拼接用户输入,运行前会把要运行的程序和命令打印出来,报告末尾也会列出「本次读取了什么」。你不要对用户隐瞒运行了什么,用户问起就照实说。
- 试音必须先问。 放提示音、麦克风测试都要先不带确认跑一次,把说明念给用户,用户明确说「好/可以/放吧/测吧」之后才带
--confirm运行。用户只说「嗯」「你看着办」不算同意,再问一次。麦克风测试只在内存里算音量大小,不保存、不上传任何录音。 - 结论和设备名一律来自脚本输出,不要猜、不要编。
这个技能做什么
脚本:python {baseDir}/scripts/av_check.py <子命令>,只用 Python 自带功能,几秒出结果。
| 功能 | 子命令 | 会不会改东西 |
|---|---|---|
| 只读检查 + 排查步骤 | check(可加 --symptom 症状) |
只看不改 |
| 只给排查步骤(不读电脑) | guide 症状 |
不读也不改 |
| 喇叭试音 | speaker-test |
不带确认只说明;--confirm 才播放一段系统自带提示音 |
| 麦克风试音 | mic-test |
不带确认只说明;--confirm 才收 3 秒声音算音量,不保存 |
检查内容:
| 检查项 | 有问题时说明什么 |
|---|---|
| 播放设备列表、默认设备、通话默认设备、音量、静音 | 被静音、音量 0、选错了设备、开会时从另一个设备出声 |
| 声音被送到显示器/电视、数字输出口 | 接了显示器后电脑把声音送过去了,显示器没喇叭 |
| 耳机插孔「没插东西」 | 插头没插好、插错孔 |
| 录音设备列表、默认麦克风、通话默认麦克风、音量、静音 | 麦克风被静音、音量太小、选错了麦克风 |
| 被禁用的喇叭/麦克风 | 需要在声音设置里重新启用 |
| 系统隐私开关(麦克风、相机各三个:这台电脑 / 应用 / 桌面应用) | 关了任何一个,腾讯会议、钉钉、飞书、微信就用不了 |
| 现在哪个软件在用摄像头、麦克风;最近用过的软件 | 摄像头被别的软件占着 |
| 摄像头有没有、是否被禁用、缺驱动;虚拟摄像头 | 物理开关/快捷键关掉、禁用、驱动、会议里选成虚拟摄像头 |
| 声卡状态、Windows 音频服务 | 驱动问题、音频服务没运行 |
| 蓝牙适配器、配对过的设备、正在连着的蓝牙耳机 | 没蓝牙、蓝牙被禁用、耳机没连上或被手机抢走 |
| 正在显示的屏幕数、接口(HDMI/DP/无线投屏)、插着但没显示的屏、Win+P 投影模式 | 投影模式选成了「仅电脑屏幕」、没检测到外接屏 |
输出:一句「最可能的原因」、发现的情况、设备表格、按顺序的「你可以这样做」(每步写「怎么点」,自动按 Win10 / Win11 给不同菜单路径)、本次读取了什么。
这个技能不做什么
- 不改任何设置:不设默认设备、不调音量、不开隐私开关、不启用/禁用设备、不切投影模式、不启动/重启服务、不改注册表。
- 不装驱动、不更新驱动、不下载任何东西;只教用户在设备管理器、Windows 更新里自己点,或去电脑品牌官网按型号找驱动。
- 不推荐任何耳机、摄像头、蓝牙适配器、声卡的品牌或软件。
- 不录音保存:麦克风测试只算音量,算完即丢;不拍照、不打开摄像头画面。
- 不判断耳机/摄像头是不是坏了,只教用户「换到手机上试」「用系统自带相机试」来对比。
- 读不到蓝牙开关状态和耳机电量,只教用户去哪里看。
- 只支持 Windows;在其它系统上运行会直接说明。
用户说大白话 → 你怎么做
| 用户这样说 | 你先跑 | 然后 |
|---|---|---|
| 「电脑没声音了」「外放没声音」「音箱不响」 | check --symptom speaker |
念「最可能的原因」,再从第 1 步开始一步一步带他做;问他要不要放一段提示音试试 |
| 「耳机没声音」「插上耳机还是外放」 | check --symptom headset |
重点念「声音从哪儿出来」那张表默认是哪个,教他选成耳机 |
| 「麦克风没声音」「别人听不到我说话」 | check --symptom mic |
看隐私开关和默认麦克风;问他要不要做 3 秒麦克风测试 |
| 「开会听不到对方」「腾讯会议/钉钉/飞书里对方听不到我」「网课没声音」 | check --symptom meeting |
先看「通话默认设备」和隐私开关,再教他在会议软件里点小箭头选设备 |
| 「摄像头打不开」「视频黑屏」「会议里摄像头没画面」 | check --symptom camera |
看有没有正在用摄像头的软件、隐私开关、摄像头状态;教他用系统自带「相机」试 |
| 「蓝牙耳机连不上」「蓝牙耳机连上了没声音」 | check --symptom bluetooth |
看有没有蓝牙、有没有连着的蓝牙耳机;先让他关掉手机蓝牙,再按配对步骤做 |
| 「外接显示器不亮」「投屏没反应」「投影仪没画面」「HDMI 没声音」 | check --symptom display |
有「插着但没显示的屏」就教他按 Win + P;没检测到就查线、输入源 |
| 「放个声音试试」「测一下喇叭」 | speaker-test |
把说明念给他,他同意后跑 speaker-test --confirm,然后问他听到没有、从哪里听到 |
| 「测一下麦克风」「看看麦克风收不收得到声音」 | mic-test |
说明只算音量不保存,他同意后跑 mic-test --confirm,提醒他测试时数 1、2、3 |
| 「告诉我怎么弄就行,不用检查」 | guide 症状 |
把步骤一步一步念给他 |
| 「你帮我把默认设备改了 / 把隐私开关打开 / 装个驱动」 | 不改 | 说明这个技能只检查不改设置,把对应步骤一步一步念给他,陪他做完再跑一次检查 |
命令速查(给你看的,不念给用户)
| 写法 | 含义 |
|---|---|
check |
全部检查,问题全部列出 |
check --symptom 症状 |
按症状检查,结论和步骤围绕这个症状;症状可写 speaker / headset / mic / camera / meeting / bluetooth / display,也可以直接写用户原话(如「开会别人听不到我」) |
guide 症状 |
只输出该症状的排查步骤,不读取电脑 |
speaker-test / speaker-test --confirm |
说明 / 用户同意后播放系统自带提示音 |
mic-test / mic-test --confirm [--seconds 3] |
说明 / 用户同意后从默认麦克风收 1~10 秒算音量(默认 3 秒) |
运行时进度和「将运行的命令」写在错误输出里,报告写在标准输出里。退出码:0 正常;2 输入有误或不是 Windows;3 意外错误。出错时固定两行:「出错了:…」「下一步:…」,原样转告用户。
使用流程
- 听懂是哪种情况,带上症状跑
check;说不清就不带症状跑。 - 用大白话讲:先一句「最可能的原因」,再说「我们先试第一步」,一次只让他做一两步,做完问结果。
- 用户做完步骤后,再跑一次检查,对比有没有好转;结论变了就按新结论继续。
- 想确认喇叭、麦克风本身好不好,先征得同意,再做试音。
- 全部正常但会议里还是不行:重点教他在会议软件里选设备、确认没被主持人静音;建议用系统自带「相机」「录音机」对比。
说话方式
- 面向不太会用电脑的人:说「右下角小喇叭」「开始 → 设置 → 系统 → 声音」「设备管理器」「会议软件里麦克风旁边的小箭头」,不念命令、参数名、注册表路径、接口名。
- 设备名照表格念(比如「扬声器 (Realtek Audio)」),可以补一句它是什么:「这是电脑自带的喇叭」「这是你的 USB 耳机」。
- 「默认通信设备」要解释成「开会、打语音电话时默认用的那个」。
- 不添加「一定要换耳机」「赶紧买个摄像头」之类的推销话,不推荐任何品牌或软件。
边界
- 「最可能的原因」按和症状的相关程度排:音频服务 → 静音/音量 → 选错设备 → 隐私开关 → 占用 → 驱动。读不到问题时说明多半在会议软件里选错设备、物理开关或线没插好。
- 「正在用摄像头/麦克风的软件」来自系统隐私记录,个别软件可能不记录;读不到不代表没人在用。
- 蓝牙耳机常分成「立体声」和「免提」两个设备;开会用耳机麦克风时会切到免提,音质变差是正常的。
- 显示器接口类型和投影模式来自系统显示配置;无线投屏、扩展坞的识别可能不全。
- 公司电脑的隐私开关、设备禁用可能是网管统一设置的,提醒用户先问网管。