设备综合测试
音视频所有处理都在浏览器本地完成,数据不上传服务器
点这里,然后按任意键
在这个框里移动、点击、滚动
在这个框里用手指触摸、拖动
方向与运动数据来自设备本身的传感器,桌面电脑多数没有,所以看不到数据是正常的。没有数据时这里会明说「不提供」,而不是显示一排 0。
所有读取都在本机完成,不联网。⚠️ 每个页签的监听与媒体流在切走时都会清理:摄像头与麦克风只在对应页签激活时打开,切走就关。
一个页面把设备上能测的东西都测一遍:键盘、鼠标、触摸、摄像头、麦克风、传感器、电池、游戏手柄八项,用页签切换。 ⚠️ 两个刻意的设计。第一,每个页签只在自己被激活时才申请权限、才绑定事件,切走就清理 —— 一进页面就把摄像头和麦克风全打开既吓人,又会在浏览器里留下「这个站一直在用摄像头」的记录,所以切到摄像头页签并点「打开」才会申请,离开就 `track.stop()`。第二,这些接口在不同浏览器与设备上缺失得很厉害,缺失时的表现往往是「没有事件、值是空的」;页面会明说「这个浏览器不提供」,而不是显示一个 0 —— 一个 0 会让人去修根本不坏的设备,这比什么都不显示更糟。 全部读取都在本机完成,不联网、不上传。
功能
- 键盘:按下即显示 code / key / keyCode / 修饰键状态,并给出主键区「还有哪些键没按过」的进度
- 鼠标:左中右与两个侧键、滚轮方向与折算步数、双击检测、指针位置与移动速度、pointerType
- 触摸:最多触点数与当前各触点坐标,并判断是否真的支持压感(恒为 0.5 表示不支持)
- 摄像头:列出设备,打开后只报实际协商到的分辨率与帧率;预览默认关闭、可一键隐藏
- 麦克风:实时音量条(AnalyserNode 的 RMS),可一键关闭
- 传感器:deviceorientation 与 devicemotion 的读数,没有数据时说明不提供而不是显示 0
- 电池:getBattery 的电量与充电状态;API 不存在时有明确提示(它已被多数浏览器移除)
- 游戏手柄:getGamepads 的按钮与摇杆状态,接上手柄按任意键即可识别
- 每个页签都在切走时清理监听与媒体流;摄像头与麦克风只在对应页签激活时打开
使用方法
- 点上面的页签逐项测试;键盘与鼠标页签按下就出结果,不需要点「运行」
- 摄像头与麦克风页签要点「打开」才会申请权限 —— 只有你同意之后才会打开
- 传感器与手柄在桌面电脑上常常没有数据,这时页面会说明原因,那是正常的
- 测完切走或关掉页面,摄像头与麦克风会自动停止
常见问题
- 为什么进页面没有自动打开摄像头?
- 因为一进页面就打开摄像头与麦克风既吓人,也会在浏览器里留下「这个站一直在用摄像头」的记录。所以只有在切到对应页签、并且点了「打开」之后才会申请权限;一旦离开该页签,媒体流立刻 `track.stop()`。这也是这一类工具最不该犯的错。
- 为什么电池一栏显示「不提供」?
- Battery Status API 出于隐私考虑(它常被用来做设备指纹)已经被多数浏览器移除:Firefox 从未实现,Chrome 在多数平台也已移除。所以「不提供」是浏览器行为,不是你的设备坏了。
- 为什么触摸的压感显示不支持?
- 触摸事件规范规定:不支持压感的设备必须恒报 `pressure: 0.5`,它的含义是「不知道」,而不是「按了一半」。所以恒为 0.5 时本页判为不支持,而不是画一个半满的条骗你。
- 为什么传感器没有数据?
- 方向与运动数据来自设备本身的传感器,绝大多数桌面电脑没有。页面等一会儿没有数据就会明说「这个浏览器不提供」,而不是显示一排 0。
相关工具
你的浏览器信息
网络查看浏览器对网站暴露的信息:UA、屏幕、时区、CPU 核数、WebGL 渲染器与能力探测,全部在本机读取、不上传。
HTML5 检测
查询在你当前这个浏览器里实测 HTML 元素、CSS 能力、浏览器 API 与媒体格式的支持情况,结果可复制成一份带 UA 的报告。
按键键值查询
查询按下任意键,同时看到它的 key、code、keyCode 与 ASCII 码,并附 100 多个键位的速查表与 0–127 的 ASCII 码表。全部在浏览器本地完成。
视频转 GIF
音视频把视频的某一段转成 GIF,可调帧率、宽度、颜色数与循环。看着预览选范围,带进度条。视频不上传,浏览器本地完成。
视频截帧
音视频导出视频某一刻的画面,按视频自身分辨率输出 PNG、JPEG 或 WebP。比播放器截图清晰:没有控件、没有屏幕缩放。文件不上传。
音频转 WAV
音视频把 MP3 / M4A / FLAC 等音频转成 WAV,可改采样率(16k 语音、48k 视频)、转单声道、做峰值归一化。全部在浏览器里完成。