苹果迷苹果迷  2026-09-17 17:31 苹果家园 隐藏边栏 |   抢沙发  1 
文章评分 0 次,平均分 0.0
导语: MacTV 是一个常驻 macOS 菜单栏的开源小工具,通过 HDMI-CEC 在 Mac 上调电视音量、切输入源、操作菜单,还能接管键盘音量键。需要 Apple Silicon 与支持 CEC 的 HDMI 连接,附官方机型名单与当前实测边界。

把电视接在 Mac 上,很多人都会撞上同一件别扭事:画面能用,声音却调不了。电视遥控器搁在茶几上,手边的键盘音量键按下去毫无反应,HDMI 只负责把音频送出去,音量调节留在了电视那一端。想换个输入源回到 Mac,还得再摸一遍遥控器。

MacTV 想解决的就是这十几秒的来回。它是一个常驻 macOS 菜单栏的开源小工具,通过 HDMI-CEC 这条一直存在、却很少被软件用起来的控制通道,把电视的音量、方向键和输入源切换收进了 Mac。

HDMI-CEC 是什么,为什么以前没软件用它

HDMI-CEC 是 HDMI 线缆里的一条控制总线。它和视频、音频信号走在同一根线上,让设备之间可以互相发指令——这就是为什么你按下 Apple TV 遥控器,电视会自动开机并切到对的输入源。指令不经过 Wi-Fi,也不需要电视装任何 App,只要线连上、双方都开着 CEC 就能通。

问题在于,Mac 这边长期以来几乎没有对外提供这个能力。macOS 系统设置里能看到的 HDMI-CEC 相关行为只有两条:外接显示器随 Mac 唤醒,以及跟着 Mac 一起睡眠。至于「发一条指令让电视调音量」「让电视切回这台 Mac」,系统层面一直没有入口。想在 Mac 上做这件事的开发者,最后多半只能去求助额外的显示器管理软件,或者干脆放弃。

MacTV 走的是另一条路:它直接调用 macOS 的 IOKit 接口把 CEC 指令发出去。这是非公开接口,作者在 README 里也明说了这一点,并提示接口可能随系统更新变化。换句话说,它是一件「借系统内部通道做事」的工具,而不是苹果官方支持的开发方向。

它到底能做什么

装好之后,MacTV 会待在菜单栏。点开图标,出现的是一个和实体遥控器布局接近的面板:

mt_remote.webp
图片来源:MacTV 官方截图

中间是圆形的方向键区,上下左右加一个 OK;下面一排三个按钮是「返回」「菜单」「输入源」。音量条单独放在下方,左侧是静音键,中间一条横条配加减号。面板顶部显示当前连接到的设备名和连接状态,如果有 CEC 名称,这里会直接显示电视上报的名字,比如 REDMI 的 MiTV-MFFU1。

点开「输入源」会展开一个列表:最上面是「打开电视输入源菜单」和「切回这台 Mac」,下面跟着 HDMI 1 到 HDMI 4。这几项对经常在 Mac 和游戏机、机顶盒之间来回切的人来说是实用的一项——不用再翻找电视遥控器。

另一块能力在键盘上。开启设置里的「用 Mac 音量键控制电视」之后,Mac 键盘上的音量加减和静音键会从控制系统音量改成控制电视音量。这里有个细节处理得比较克制:只有当声音确实输出到 HDMI 时才接管音量键,一旦切换到耳机或内置扬声器,音量键立刻回到系统控制。想强制打开系统声音设置,用 Option 加音量键。

设置界面与开启步骤

设置窗口分成四段:电视与音响、键盘、外观与操作、连接诊断。

mt_menubar.webp
图片来源:MacTV 官方截图

第一段里可以选 HDMI 连接和音量控制目标设备,旁边的「重新检测设备」用来在换了线或换了电视之后重新握手。

第一段里可以选 HDMI 连接和音量控制目标设备,旁边的「重新检测设备」用来在换了线或换了电视之后重新握手。第二段就是音量键开关,右侧那个「允许辅助功能…」按钮是必须点的——Mac 要拦截键盘音量键,得先在系统设置里给它辅助功能权限。第三段是大字号开关和一组按键说明:遥控器打开时,方向键移动、Return 确认、Delete 返回。第四段是诊断信息,能看到连接方式、电源状态、CEC 版本和实际音量,出错时可以把这份报告复制给开发者。

完整上手是三步:

一,用支持 CEC 的 HDMI 接口或转换器连上电视,并在电视那边打开 HDMI-CEC。不同品牌的叫法不一样,LG 叫 SIMPLINK,三星叫 Anynet+,索尼叫 BRAVIA Sync,一般在电视设置的外部设备或通用设置里。

二,启动 MacTV,点菜单栏图标,用方向键操作电视。

三,在设置里打开音量键开关,再去系统设置的隐私与安全性、辅助功能里允许 MacTV。

硬件门槛:先确认你这台 Mac 在不在名单里

这是决定能不能用的第一道关,而且比想象中窄。按 Apple 官方的 HDMI 支持文档,内置 HDMI 口支持 CEC 的机型只有这几种:2025 年搭载 M4 Max 或 M3 Ultra 的 Mac Studio;2023 年及以后搭载 M4、M3 Pro、M4 Pro、M5 Pro、M3 Max、M4 Max 或 M5 Max 的 MacBook Pro;2024 年及以后搭载 M4 或 M4 Pro 的 Mac mini。

走 USB-C 转 HDMI 的路线则是另一套条件:需要 Apple USB-C 数字影音多端口转换器,或者 Belkin Connect USB-C 转 HDMI 转换器,同时系统要在 macOS Sonoma 14.4 以上。走这条路的机器范围宽得多,任何 Apple 芯片的 Mac 都有可能。软件本身要求 macOS 14 起,只提供 Apple Silicon 版本,Intel Mac 用不了。

实际能不能用还取决于电视。CEC 是一个标准,但各家实现的细节不一样,同一条指令在不同电视上的反应可能完全不同。作者把这一点写得很坦白,还专门放了一份兼容性说明。

mt_settings.webp
图片来源:MacTV 官方截图

按那份说明的记录,目前的实机是 M4 Mac mini 配 REDMI MiTV-MFFU1。已经验证可用的是方向、确认、返回,以及从 HDMI1 切回 Mac 所在的 HDMI2。「设备设置菜单」打开的是 Android 系统设置,不是 REDMI 的快捷调整面板;输入源菜单和其他 HDMI 端口尚未验证成功;音量数值本机拒绝回读,所以 App 干脆不显示百分比——这一点值得单独提一句,不编造一个假数字比显示一个好看的进度条更需要克制。其他品牌的电视还没有用这个 App 实机验证过。

使用前要知道的几件事

第一,它目前是早期版本。作者自己在文档里写明「已发送不等于电视已执行」——指令送出去了,电视接不接、怎么接,取决于厂商实现。HDMI 1 到 HDMI 4 是预设的请求项,不代表系统真的检测到了四个输入设备。

第二,它用的是非公开接口。这类实现的好处是不用装驱动、不用改系统,代价是系统更新有可能让它失效。用之前对这一点有预期比较好。

第三,它的定位很清楚。不依赖 BetterDisplay,不做 Wi-Fi 控制,不含遥测,诊断记录只留在本机。README 还提醒分享诊断报告前先检查里面的设备名称。功能边界划得挺干净,没有顺手加一堆无关的能力。

安装方式

v0.1.1 已经用 Developer ID 签名并通过 Apple 公证,可以直接装。Homebrew 一条命令:

brew install --cask pengchujin/tap/mactv

后续更新用 brew upgrade --cask pengchujin/tap/mactv。不想用 Homebrew 的话,也可以从 GitHub Releases 页面下载 zip 解压使用。想自己改的话,仓库里带了完整的 Xcode 工程,用 Xcode 打开选 MacTV scheme、填上自己的开发者团队就能编译运行;核心的 CEC 协议部分抽成了独立的 Swift Package,配了测试,可以单独 swift test 跑一遍。

项目用 MIT 许可发布,源码在 GitHub 上公开:github.com/pengchujin/MacTV。发布页在 Releases,设备兼容性说明见仓库里的 COMPATIBILITY.md

值不值得装

判断标准其实就一条:你的 Mac 是不是长期接在一台电视上,而且经常需要调音量或切输入源。如果是——把电视当显示器用、或者 Mac mini 接客厅大屏,那这个工具补的是一个真实存在的缺口,而且目前没有别的免费方案做同一件事。它解决的不是「能不能用」,而是「每次都要多摸一次遥控器」。

如果不是这个场景,那它的价值就很有限了。CEC 机型名单卡得比较死,早期版本在非 REDMI 电视上的表现还是未知数,用不上也不必勉强。

另外值得留意的是,这台 Mac 常接电视的用户,可能也会关心菜单栏这一块的管理——比如菜单栏图标太多时怎么归置,可以看看 Pelmet 这篇里整理的分组方案;如果你的电视是用来看片,音量在不同 App 之间差异太大,FineTune 那套按 App 单独调音的思路也可以参考。至于想让 Mac 长期以合盖姿态接大屏,Mac Duo 做了另一方向的尝试。

本文引用的界面截图来自项目官方仓库,仅作功能介绍用途。

声明:本文来自投稿,不代表苹果家园立场,版权归原作者所有,欢迎分享本文,转载请保留出处!

发表评论

表情 格式 链接 私密 签到

友情链接

    扫一扫二维码分享