Skip to content

Releases: qiyinxi/HomePodCast

HomePodCast 1.0.0

Choose a tag to compare

@github-actions github-actions released this 13 Oct 14:08
503fe1f

HomePodCast 1.0.0, the first stable release after 0.2.2. It is the source of 1.0.0 beta 6, tested on a HomePod (2nd generation) with HomePod software 27. Not code-signed yet, so SmartScreen may warn ("More info" → "Run anyway"). With 0.2.2 or a 1.0.0 beta installed: Settings → Updates → Check for updates.

New since 0.2.2

  • Never takes over a speaker another device is playing to. While an iPhone or a Mac plays to the HomePod, Connect asks first, and an automatic connect waits until it is free.
  • Speaker info (Settings → Speaker info): model, system and AirPlay versions, IP address, the Wi-Fi MAC address (find the HomePod in your router to see its band or give it a fixed IP), Bluetooth address, device ID, the group it belongs to, and its processing time.
  • Playback profiles: save a whole setup (speaker, scene and latency, routing, effects, volume limit, night mode) under a name and apply it in one click; it reconnects only when the speaker or the latency changes.
  • A/V calibration that is used: the sync test's result is kept per speaker and audio source and corrects the picture delay for video players and the browser extension.
  • Independent HomePod volume per app in the Mixer (uses per-app routing, about 35 ms more latency).
  • Diagnostics: Settings → Tools → Export diagnostics saves a ZIP with a measurement summary and the log, names and addresses removed (best effort); nothing is uploaded. A global hotkey (no key by default) marks the moment you hear a stutter.
  • Network status on Home: counts the possible dropouts in the last 10 minutes and, when the Wi-Fi delay goes beyond what the latency can absorb, suggests a latency and names the likely cause (the HomePod's Wi-Fi, this PC's Wi-Fi, or an Apple TV home theater).
  • HomePod as an Apple TV's home theater speaker (experimental): HomePodCast takes it over for as long as it is connected, without a PIN and without switching the TV on; Settings can make it ask first. Not yet tried with a real Apple TV, in particular whether the Apple TV takes the HomePod back afterwards.
  • Apple TV as a speaker after a one-time PIN pairing (experimental, not yet tested on a real Apple TV).
  • Browser extension 1.0.0: "Sync fullscreen" keeps the site's controls, captions and danmaku; the controls appear only on hover or Alt; Alt+←/→ (Shift: 20 ms) adjusts the delay with a per-site offset.
  • Clear messages when the microphone is blocked by Windows privacy settings, and Settings → Tools → Open log folder.
  • Ready for the Microsoft Store: the app adapts when installed from the Store (firewall rule from the package, startup task, its own storage, updates by the Store). The Store listing follows.

Fixed since 0.2.2

  • Home showed dropouts at a high latency that couldn't be heard (unanswered pings that say nothing about delay were counted).
  • Switching to a profile for another speaker could later send the previous speaker's volume to the new one.
  • While waiting to reconnect, Home and the tray panel said "Disconnect"; they now say "Connect", and a click connects at once.
  • Layout: drop-down text at 150 % scaling, texts cut off on the speaker card and in the tray panel, the German profile picker, controls cut off at the minimum window width, a misplaced row on the microphone card.
  • The browser extension could throw an error when leaving sync fullscreen.

Verified

  • On the real HomePod: streaming at the Gaming (105 ms) and Recommended (120 ms) scenes, the busy-speaker rules, the network status, the in-app update from one version to the next.
  • On every CI build: the in-app MSI update, the installer (install, upgrade, uninstall, the Chinese wizard), the Microsoft Store package, the browser extension in Chrome, and every page of the app in three languages at 100 and 150 % scaling, besides about 1,100 unit tests.

Known issues

  • While a HomePod is an Apple TV's home theater speaker, the two keep a link that takes up the Wi-Fi at regular intervals; below about 200 ms latency this causes dropouts. For gaming, set the Apple TV's audio output back to the TV.
  • Stereo pairs and multi-room are still experimental: built from protocol research, not yet tested on real speakers.

HomePodCast 1.0.0:0.2.2 之后的第一个正式版,源码就是 1.0.0 测试版 6,在 HomePod 第二代(HomePod 软件 27)上测过。程序未签名,Windows 可能弹出 SmartScreen 提示(点「更多信息」→「仍要运行」)。装着 0.2.2 或 1.0.0 测试版的话,在 设置 →「软件更新」里点「检查更新」就能升级。

0.2.2 以来的新功能

  • 不会挤掉正在用音箱的其他设备:iPhone 或 Mac 正在往 HomePod 推送时,点「连接」会先问;自动连接会等它空闲。
  • 音箱信息(设置 →「音箱信息」):型号、系统和 AirPlay 版本、IP 地址、Wi-Fi MAC 地址(可以在路由器里找到 HomePod,看它连的频段或给它固定 IP)、蓝牙地址、设备 ID、所在分组和它自己的处理时间。
  • 使用配置:把整套设置(音箱、场景和延迟、分流、音效、音量上限、夜间模式)存成一个名字,一键应用;只有换了音箱或延迟才重连。
  • 音画校准真正生效:同步测试的结果按音箱和音源分别保存,用来修正播放器和浏览器插件的画面延迟。
  • 混音器里每个程序单独的 HomePod 音量(会启用按程序分流,多约 35 ms 延迟)。
  • 诊断:设置 →「工具」→「导出诊断」保存一个 ZIP,包含统计摘要和日志,名称和地址会尽量隐藏,不会上传。还可以设一个全局快捷键(默认没有),听到卡顿时按一下记下时间。
  • 首页的网络状态:统计最近 10 分钟可能断音的次数;Wi-Fi 延迟超出延迟余量时会建议一个延迟,并指出可能的原因(HomePod 那边的 Wi-Fi、电脑这边的 Wi-Fi,或 Apple TV 家庭影院)。
  • HomePod 当 Apple TV 的家庭影院音箱时(实验性):HomePodCast 连接期间临时接管它,不需要配对码,也不会打开电视;可以在设置里改成先询问。还没在真实的 Apple TV 上试过,特别是之后 Apple TV 会不会把 HomePod 要回去。
  • 把 Apple TV 当音箱,在电视上配对一次即可(实验性,尚未在真实 Apple TV 上验证)。
  • 浏览器插件 1.0.0:「同步全屏」保留网站自己的控制栏、字幕和弹幕;控制按钮只在鼠标移上去或按 Alt 时出现;Alt+←/→(加 Shift 为 20 ms)调整延迟,按网站保存偏移。
  • 麦克风被 Windows 隐私设置拦住时给出明确的提示;设置 →「工具」→「打开日志文件夹」。
  • 为 Microsoft Store 做好了准备:从商店安装时,防火墙规则、开机启动、存储位置和更新都由商店的方式处理。商店上架随后进行。

0.2.2 以来的修复

  • 延迟设得高时,首页显示了听不出来的断音(没回应的 ping 不代表网络慢,却被算了进去)。
  • 用使用配置切换到另一只音箱后,之后可能把旧音箱的音量发给新音箱。
  • 等待重连时,首页和托盘面板显示「断开」;现在显示「连接」,点一下立刻重连。
  • 界面:150% 缩放下下拉列表的文字位置、音箱卡片和托盘面板里被截断的文字、德语的配置选择框、窗口最窄时被裁掉的控件、麦克风卡片上错位的一行。
  • 浏览器插件退出同步全屏时可能报错。

验证情况

  • 在真实 HomePod 上:「游戏」(105 ms)和「推荐」(120 ms)场景推流、音箱被占用时的规则、网络状态、从上一个版本自动更新。
  • 每次 CI 构建:MSI 应用内更新、安装包(安装、升级、卸载、中文向导)、Microsoft Store 版、Chrome 里的浏览器插件,以及程序每个页面的三种语言、100% 和 150% 缩放,另外还有约 1100 个单元测试。

已知问题

  • HomePod 当 Apple TV 的家庭影院音箱时,两者之间会一直保持一条连接,定时占用 Wi-Fi;延迟低于约 200 ms 时会断音。打游戏时请在 Apple TV 上把音频输出改回电视。
  • 立体声对和多房间仍是实验性功能:根据协议资料实现,还没在真实音箱上测过。

HomePodCast 1.0.0-beta.6

Pre-release

Choose a tag to compare

@github-actions github-actions released this 13 Oct 11:29

1.0.0 beta 6. Not code-signed yet, so SmartScreen may warn ("More info" → "Run anyway"). With beta 5 installed: Settings → Updates → Check for updates. Changes since beta 5:

Fixed:

  • Switching to a usage profile for another speaker could save the previous speaker's volume as the new speaker's, and a later reconnect then sent it there.
  • Leaving the browser extension's synchronized fullscreen with its button focused threw an error, and part of the page update was skipped.
  • Layout: a collapsed row covered the corner of the microphone card; the speaker card's texts were cut off at the default window size (more so in German); the German profile picker shrank to "Pr…"; the tray panel cut off the retry countdown; at the minimum window width some buttons were cut off. Several controls got accessible names.

Changed:

  • Settings → "When a HomePod is an Apple TV's home theater speaker" is marked experimental: it hasn't been tried with a real Apple TV yet, in particular whether the Apple TV takes its HomePod back after HomePodCast disconnects.

Behind the scenes:

  • Every CI build now also tests the in-app update from an older MSI, the installer (install, upgrade, uninstall, the Chinese wizard), the Microsoft Store package, the browser extension in Chrome, and every page of the app in three languages at 100 and 150 %.

Known issues:

  • While a HomePod is an Apple TV's home theater speaker, the two keep a link that takes up the Wi-Fi at regular intervals; below about 200 ms latency this causes dropouts. For gaming, set the Apple TV's audio output back to the TV.

1.0.0 测试版 6:程序未签名,Windows 可能弹出 SmartScreen 提示(点「更多信息」→「仍要运行」)。装着测试版 5 的话,在 设置 →「软件更新」里点「检查更新」就能升级。相对测试版 5 的变化:

修复

  • 用使用配置切换到另一只音箱时,旧音箱的音量可能被存成新音箱的音量,之后重连时就会发给新音箱。
  • 浏览器插件的同步全屏:按钮有焦点时退出全屏会报错,页面的一部分更新被跳过。
  • 界面:麦克风卡片的一角被一个折叠的行盖住;音箱卡片的文字在默认窗口大小下被截断(德语更明显);德语的配置选择框只剩「Pr…」;托盘面板截掉了重试倒计时;窗口最窄时有几个按钮被裁掉。几个控件补上了无障碍名称。

改动

  • 设置 →「HomePod 当 Apple TV 家庭影院音箱时」标成了实验性:还没在真实的 Apple TV 上试过,特别是 HomePodCast 断开后 Apple TV 会不会把 HomePod 要回去。

幕后

  • 现在每次 CI 构建还会测:从旧版 MSI 自动更新、安装包(安装、升级、卸载、中文向导)、Microsoft Store 版、Chrome 里的浏览器插件,以及程序每个页面的三种语言、100% 和 150% 缩放。

已知问题

  • HomePod 当 Apple TV 的家庭影院音箱时,两者之间会一直保持一条连接,定时占用 Wi-Fi;延迟低于约 200 ms 时会断音。打游戏时请在 Apple TV 上把音频输出改回电视。

HomePodCast 1.0.0-beta.5

Pre-release

Choose a tag to compare

@github-actions github-actions released this 12 Oct 19:59

1.0.0 beta 5. Not code-signed yet, so SmartScreen may warn ("More info" → "Run anyway"). With beta 4 installed: Settings → Updates → Check for updates. Changes since beta 4:

Changed:

  • A HomePod taken over from its home-theater Apple TV: Home now says so as soon as it streams below 200 ms, before any dropout: the HomePod and the Apple TV keep a link that takes up the Wi-Fi at regular intervals, so low latencies can drop out. It suggests setting the Apple TV's audio output back to the TV for gaming, or 200 ms with one click on "Apply". Once dropouts are counted, the hint also suggests 200 ms instead of adding 15 ms at a time.

Known issues:

  • On our test setup the link between the Apple TV and its home-theater HomePod took up the Wi-Fi every 2.1 seconds even with nothing streaming, and no connection setting made the HomePod let go while HomePodCast streams to it. Whether 200 ms is always enough has not been confirmed yet.

1.0.0 测试版 5:程序未签名,Windows 可能弹出 SmartScreen 提示(点「更多信息」→「仍要运行」)。装着测试版 4 的话,在 设置 →「软件更新」里点「检查更新」就能升级。相对测试版 4 的变化:

改动

  • 从 Apple TV 家庭影院临时接管的 HomePod:只要延迟低于 200 ms,首页一开始推流就会提示,不用等断音出现。提示会说明 HomePod 和 Apple TV 之间有一条连接会定时占用 Wi-Fi,延迟低时可能断音;打游戏时建议在 Apple TV 上把音频输出改回电视,或者点「应用」一键把延迟调到 200 ms。已经统计到断音时,提示也会直接建议 200 ms,不再每次只加 15 ms。

已知问题

  • 在我们的测试环境里,即使没有推流,Apple TV 和它的家庭影院 HomePod 之间那条连接也会每 2.1 秒占用一次 Wi-Fi。试过的连接参数都没能让 HomePod 在推流期间断开它。200 ms 是否在所有情况下都够用,还没有确认。

HomePodCast 1.0.0-beta.4

Pre-release

Choose a tag to compare

@github-actions github-actions released this 12 Oct 19:47

1.0.0 beta 4. Not code-signed yet, so SmartScreen may warn ("More info" → "Run anyway"). With beta 3 installed: Settings → Updates → Check for updates. Changes since beta 3:

Changed:

  • The network hint says what it counts: "possible dropouts in 10 minutes: N" instead of a bare number.
  • A HomePod that is an Apple TV's home theater speaker: when it was taken over from its Apple TV and the network hint appears, the hint now points at the home theater instead of the Wi-Fi band. While the HomePod is the Apple TV's home theater speaker, the two keep a connection that takes up the Wi-Fi at regular intervals: on our test setup both answered 60 to 90 ms late every 2.1 seconds, enough to cause dropouts at low latencies such as 105 or 120 ms. Setting the Apple TV's audio output back to the TV stopped them at once. For gaming at low latency, switch the home theater off for now, or use a latency of about 200 ms.

Fixed:

  • While waiting to reconnect ("Speaker not found …, retrying in 30 seconds"), Home and the tray panel showed "Disconnect", as if something were connected. They now show "Connect", and a click connects at once.
  • The "speaker not found" message no longer has brackets. In Chinese and Japanese the closing bracket could end up alone at the start of the next line.

Known issues:

  • A HomePod taken over from its Apple TV still keeps the Apple TV's connection while HomePodCast streams to it. Making it let go, as TuneBlade apparently did, is being investigated.

1.0.0 测试版 4:程序未签名,Windows 可能弹出 SmartScreen 提示(点「更多信息」→「仍要运行」)。装着测试版 3 的话,在 设置 →「软件更新」里点「检查更新」就能升级。相对测试版 3 的变化:

改动

  • 网络提示写清了数的是什么:显示「10 分钟内可能断音 N 次」,不再只是一个数字。
  • HomePod 是 Apple TV 的家庭影院音箱时:从 Apple TV 临时接管过来以后,如果出现网络提示,现在会指向家庭影院,不再叫你换 5G。HomePod 当 Apple TV 的家庭影院音箱时,两者之间会一直保持一条连接,定时占用 Wi-Fi。在我们的测试环境里,两台设备每 2.1 秒一起卡 60 到 90 ms,延迟设到 105 或 120 ms 这种低值时就会断音。把 Apple TV 的音频输出改回电视,马上就好了。想低延迟打游戏的话,目前先把家庭影院关掉,或者把延迟调到 200 ms 左右。

修复

  • 等待重连时(「找不到音箱……,30 秒后重试」),首页和托盘面板显示的是「断开」,好像连着什么一样。现在显示「连接」,点一下立刻重连。
  • 「找不到音箱」那句提示去掉了括号。中文和日文界面里,右括号可能会被单独挤到下一行开头。

已知问题

  • 从 Apple TV 临时接管 HomePod 时,HomePodCast 推流期间 HomePod 仍然保留着和 Apple TV 的连接。怎么让它像 TuneBlade 那样彻底断开,还在研究。

HomePodCast 1.0.0-beta.3

Pre-release

Choose a tag to compare

@github-actions github-actions released this 12 Oct 18:35

1.0.0 beta 3. Not code-signed yet, so SmartScreen may warn ("More info" → "Run anyway"). With beta 2 installed: Settings → Updates → Check for updates. Changes since beta 2:

Fixed:

  • Dropouts that weren't there at a high latency. At 500 ms, Home showed "Dropouts ≈9" and the hint "The HomePod's Wi-Fi has been unsteady lately (hiccups in 10 minutes: 38) … moving it to 5 GHz helps most", although nothing could be heard. Occasional pings to the HomePod that go unanswered no longer count as dropouts when the latency leaves more than enough room for them (on Windows most of them fail after about 46 ms, which says nothing about a delay). At lower latencies they still count.
  • The network hint now counts only the times the Wi-Fi delay went beyond what the latency can absorb, not every small spike.

Changed:

  • Home no longer has the "Mark a stutter" and "Export diagnostics" buttons. Export diagnostics is in Settings → Tools. Marking a stutter is now a global hotkey with no key by default: Settings → Global hotkeys → "Mark a stutter". It also works in a fullscreen game.

1.0.0 测试版 3:程序未签名,Windows 可能弹出 SmartScreen 提示(点「更多信息」→「仍要运行」)。装着测试版 2 的话,在 设置 →「软件更新」里点「检查更新」就能升级。相对测试版 2 的变化:

修复

  • 延迟设得高时显示了并不存在的断音:延迟 500 ms 时,首页显示「断音 ≈9」,还提示「HomePod 那边的 Wi-Fi 最近不太稳(10 分钟内 38 次)……改连 5G 最管用」,实际一点都听不出来。现在延迟留的余量足够时,偶尔没回应的 ping 不再算成断音(在 Windows 上它们大多 46 ms 左右就报失败,并不代表网络慢了)。延迟设得低时仍然会算。
  • 网络提示里的次数只算 Wi-Fi 延迟超出余量的那几次,不再把每次小抖动都算进去。

改动

  • 首页去掉了「刚才卡了」和「导出诊断」两个按钮。导出诊断在 设置 →「工具」里。记录卡顿改成了全局快捷键,默认不设键:设置 →「全局快捷键」→「标记刚才的卡顿」,全屏游戏里也能用。

Full Changelog: v1.0.0-beta.2...v1.0.0-beta.3

HomePodCast 1.0.0-beta.2

Pre-release

Choose a tag to compare

@github-actions github-actions released this 12 Oct 15:56

1.0.0 beta 2. Not code-signed yet, so SmartScreen may warn ("More info" → "Run anyway"). With beta 1 installed: Settings → Updates → Check for updates. Changes since beta 1:

New:

  • HomePods used as an Apple TV's home-theater speaker. The Apple TV keeps its session with the HomePod open all the time, so HomePodCast used to wait forever. Now it recognizes the HomePod's own Apple TV and, by default, takes the HomePod over temporarily: the status reads "Connected · Bedroom (temporarily taken over from Apple TV "…"; handed back when you disconnect)". The direct low-latency path is kept, and the TV is not switched on. While HomePodCast is connected, the Apple TV's sound doesn't come out of that HomePod. Settings → "When a HomePod is an Apple TV's home theater speaker" can be set to "Ask first" instead. Another device playing to the HomePod (an iPhone, a Mac) is still never taken over without asking.
  • Apple TV as a speaker, after a one-time pairing: pick the Apple TV in the speaker list and click Connect, then type the 4-digit code the TV shows. Later connections don't ask again. Pairings are stored encrypted for your Windows account; Settings → Paired TVs → Forget pairing removes one. A pairing is never started by itself (not at startup, not on a reconnect).
  • Speaker info shows the group a speaker belongs to (home theater, stereo pair), and Apple TV models by name.

Fixed:

  • Microsoft Store version: Settings → Updates showed the GitHub update controls instead of "updated by the Microsoft Store".
  • Connecting no longer asks a receiver that needs pairing to show a code, which could switch an Apple TV's TV on.

1.0.0 测试版 2:程序未签名,Windows 可能弹出 SmartScreen 提示(点「更多信息」→「仍要运行」)。装着测试版 1 的话,在 设置 →「软件更新」里点「检查更新」就能升级。相对测试版 1 的变化:

新增

  • HomePod 当 Apple TV 家庭影院音箱时:Apple TV 会一直连着 HomePod,以前 HomePodCast 会一直等下去。现在程序能认出这是 HomePod 自家的 Apple TV,默认直接临时接管,状态显示「已连接 · 卧室(临时从 Apple TV「…」接管,断开后交还)」。走的仍是直连的低延迟通道,也不会把电视打开。HomePodCast 连着期间,Apple TV 的声音不会从这台 HomePod 出来。在 设置 →「HomePod 当 Apple TV 家庭影院音箱时」可以改成「先询问」。如果是 iPhone、Mac 等别的设备在往 HomePod 推送,仍然不会不问就接管。
  • 把 Apple TV 当音箱(只需配对一次):在音箱列表里选 Apple TV,点「连接」,输入电视上显示的 4 位数字。以后连接不会再问。配对信息按你的 Windows 账户加密保存,可以在 设置 →「已配对的电视」→「忘记配对」里删除。程序不会自己发起配对,启动时、重连时都不会。
  • 音箱信息会显示音箱所在的分组(家庭影院、立体声对),Apple TV 也会显示具体型号。

修复

  • Microsoft Store 版:设置 →「软件更新」显示的是 GitHub 版的更新选项,而不是「由 Microsoft Store 负责更新」。
  • 连接时不再请需要配对的设备显示验证码,以前这样可能会把 Apple TV 连着的电视打开。

HomePodCast 1.0.0-beta.1

Pre-release

Choose a tag to compare

@github-actions github-actions released this 11 Oct 23:49

1.0.0 beta 1. Not code-signed yet, so SmartScreen may warn ("More info" → "Run anyway"). If you have 0.2.2 or a 0.2.2 beta, Settings → Updates → Check for updates (Beta channel) installs it. New since 0.2.2:

New:

  • Never takes over a HomePod another device is playing to. While an iPhone or a Mac plays to it, Connect asks first, and an automatic connect (at startup, or after picking another speaker) waits until it is free. Our own reconnects (after a network drop, a new scene or latency, waking up) are never held back.
  • Speaker info (Settings → Speaker info): model, system and AirPlay versions, IP address, the Wi-Fi MAC address with a copy button (find the HomePod in your router's client list, see whether it is on 2.4 or 5 GHz, or give it a fixed IP), Bluetooth address, device ID, and the speaker's processing time from the last connection.
  • Playback profiles: save a whole setup (speaker, scene and latency, routing, effects…) under a name and apply it from Home or Settings. Applying reconnects only when the speaker or the latency changes; a profile never restores an old IP address.
  • A/V calibration that is used: the result of the sync test is kept per speaker and audio source and corrects the picture delay for players and the browser extension.
  • Independent HomePod volume per app (Mixer): an app can play at its own level on the HomePod, separate from its Windows level. Turning it on never makes the speaker louder: it starts at the app's current Windows level. It uses per-app routing (about 35 ms more latency).
  • Stutter marks and diagnostics: "Mark a stutter" marks the moment while streaming; "Export diagnostics" saves a ZIP with a measurement summary and the log, speaker names and addresses removed (best effort). Nothing is uploaded.
  • Browser extension 1.0.0: "Sync fullscreen" keeps the site's own controls, captions and danmaku; the in-page controls appear only when you move the pointer over the video or press Alt; Alt+←/→ adjusts by 5 ms (Shift: 20 ms) with a per-site offset.
  • Microphone blocked by Windows privacy settings: one message with a button to the right Settings page, instead of retrying every 2 seconds.
  • Settings → Tools → Open log folder.
  • Groundwork for the Microsoft Store version (it comes with 1.0.0): the app adapts when installed from the Store (firewall rule from the package, startup task, its own log folder, updates by the Store).

Fixed:

  • Drop-down lists: the entries' text sat too high at 150 % display scaling.
  • The "Speaker delay" tile shows a value only while streaming.
  • Starting HomePodCast while it is already running brings its window forward.

1.0.0 测试版 1:程序未签名,Windows 可能弹出 SmartScreen 提示(点「更多信息」→「仍要运行」)。装着 0.2.2 或 0.2.2 测试版的话,在 设置 →「软件更新」里选测试版渠道,点「检查更新」就能升级。相对 0.2.2 的变化:

新增

  • 不会抢别的设备正在用的 HomePod:iPhone 或 Mac 正在往 HomePod 上推时,点「连接」会先问你;程序自己发起的连接(启动时自动连接、切换音箱后)会等它空出来。我们自己的重连(断网后重试、换场景或延迟、电脑唤醒)不受影响。
  • 音箱信息(设置 →「音箱信息」):型号、系统和 AirPlay 版本、IP 地址、带「复制」按钮的 Wi-Fi MAC 地址(拿它在路由器的设备列表里找到 HomePod,看它连的是 2.4G 还是 5G,或者给它固定 IP)、蓝牙地址、设备 ID,以及上次连接时的音箱处理时间。
  • 播放配置:把一整套设置(音箱、场景和延迟、分流、音效等)存成一个配置,在首页或设置里一键套用。只有音箱或延迟变了才会重连;配置不会恢复旧的 IP 地址。
  • 音画校准结果真正用上:音画同步测试的结果按音箱和音源分别保存,自动修正播放器和浏览器插件的画面延后。
  • 程序单独的 HomePod 音量(混音器):某个程序在 HomePod 上可以用自己的音量,和它的 Windows 音量分开。打开时从这个程序当前的 Windows 音量开始,音箱不会突然变响。这个功能会启用按程序分流,延迟多约 35 ms。
  • 标记卡顿和导出诊断:推流时点「刚才卡了」记下时间点;「导出诊断」保存一个 ZIP,包含测量摘要和日志,并尽量去掉音箱名称和地址。不会上传任何东西。
  • 浏览器插件 1.0.0:「同步全屏」保留网站自己的控制栏、字幕和弹幕;网页上的控制条只在鼠标移到视频上或按 Alt 时出现;Alt+←/→ 每次调 5 ms(加 Shift 是 20 ms),按网站分别保存。
  • 麦克风被 Windows 隐私设置禁止时:只提示一次,并提供打开对应设置页的按钮,不再每 2 秒重试。
  • 设置 →「工具」→「打开日志文件夹」。
  • 为 Microsoft Store 版做好准备(随 1.0.0 正式版上架):从 Store 安装时,防火墙规则随安装包添加,开机启动改用启动任务,日志放在应用自己的文件夹里,更新交给 Store。

修复

  • 下拉框:在 150% 显示缩放下,列表里的文字偏上。
  • 「音箱处理」那一格只在推流时显示数值。
  • HomePodCast 已经在运行时再次启动,会把窗口调到前面。

HomePodCast 0.2.2

Choose a tag to compare

@github-actions github-actions released this 11 Oct 19:39
29c35e6

HomePodCast 0.2.2. Same source as 0.2.2 beta 5, tested on a real HomePod (2nd gen). Not code-signed yet, so SmartScreen may warn ("More info" → "Run anyway"). Coming from 0.2.1 or older, install this MSI by hand once; from then on, Settings → Updates can install new versions for you.

New since 0.2.1:

  • Updates (Settings → Updates): Check for updates asks GitHub for the latest release of your channel, Stable or Beta. If there is one: Update, Release notes or Skip this version. Update downloads the MSI, checks it against the SHA-256 GitHub lists for it, quits HomePodCast, installs through one administrator prompt and starts it again. Nothing is installed without your click, and it never offers an older version.
  • Automatic update checks are off by default, so HomePodCast doesn't go online unless you ask. Turned on, it notifies you when a new version is out (about 30 seconds after start, then once a day) and still never installs by itself. The portable zip only opens the release page.
  • Public network warning: after a network change (a move, a cable instead of Wi-Fi), Windows may put the network that reaches the HomePod in the Public category, where HomePodCast's firewall rule doesn't apply and the HomePod can't connect back. The app now says so and opens the right Settings page; once the network is Private, it reconnects on its own.
  • The network hint names the band first: when the HomePod's Wi-Fi is unstable, the hint suggests moving a HomePod on 2.4 GHz to 5 GHz before it mentions placement. Measured in a crowded building: on 2.4 GHz, a 21 ms ping median and stutters even at 500 ms latency; on 5 GHz, a 2 ms median and nothing lost. Routers with Smart Connect (one name for both bands) tend to put the HomePod (2nd gen, Wi-Fi 4 only) on 2.4 GHz.
  • Dropouts include the network's likely gaps: the HomePod never reports late packets, so this tile used to read 0 through audible stutters. It now adds the network's estimate, shown with "≈"; the tooltip splits PC and network.
  • Privacy policy: PRIVACY.md (no telemetry, no accounts).

Fixed:

  • Blocked connections no longer offer to add a firewall rule that already exists. With the rule in place on a Private network, the message says another firewall or security program may be blocking HomePodCast.exe.
  • Wired PC: the network hint no longer blames the PC's Wi-Fi when the PC is on a cable.
  • Starting HomePodCast while it is already running brings its window forward again.
  • README FAQ "Occasional stutters": the first step is now to check the HomePod's band.

HomePodCast 0.2.2:与 0.2.2 测试版 5 源码完全相同,已在真实的 HomePod(第二代)上测试。程序未签名,Windows 可能弹出 SmartScreen 提示(点「更多信息」→「仍要运行」)。从 0.2.1 或更早版本升级时,需要手动安装一次这个 MSI;之后的新版本就可以在 设置 →「软件更新」里直接安装。

相对 0.2.1 的新增内容

  • 软件更新(设置 →「软件更新」):点「检查更新」会向 GitHub 查询所选渠道(正式版或测试版)的最新版本。有新版本时可以选「更新」「查看说明」或「跳过此版本」。点「更新」会下载 MSI,先用 GitHub 提供的 SHA-256 校验,然后退出 HomePodCast、弹出一次管理员授权完成安装,装好后自动重新打开。不点就不会安装,也不会提示降级到旧版本。
  • 自动检查更新默认关闭,你不主动查询时 HomePodCast 不会联网。打开后,有新版本时会弹出通知提醒你(启动约 30 秒后检查一次,之后每天一次),但仍然不会自动安装。便携版点「更新」只会打开发布页。
  • 公用网络提醒:换了网络(搬家、改插网线等)后,如果 Windows 把连 HomePod 的那个网络标成了「公用网络」,HomePodCast 的防火墙放行就不生效,HomePod 连不回本程序。现在程序会直接说明原因,并打开对应的 Windows 设置页;改成「专用网络」后会自动重连。
  • 网络提示先说频段:HomePod 那边的 Wi-Fi 不稳时,提示会先建议「HomePod 如果连在 2.4G 上,改连 5G」,然后才提摆放位置。实测:在人多墙薄的环境里,HomePod 在 2.4G 上 ping 中位数 21 ms,即使延迟设到 500 ms 也会断音;改连 5G 后中位数 2 ms,一个都没丢。路由器开了 Smart Connect(双频合一)时,HomePod 第二代(只支持 Wi-Fi 4)容易被分到 2.4G。
  • 「断音」计入网络造成的断音:HomePod 从不报告晚到的包,所以以前听到断音时这一格也显示 0。现在会加上网络很可能造成的断音(估计值),数字前带「≈」,鼠标悬停可以看到「电脑这边 / 网络」各几次。
  • 隐私政策:PRIVACY.md(没有遥测,不需要账号)。

修复

  • 连接被拦截时,如果防火墙规则已经存在,不再提示「添加规则」。如果规则在、网络也是专用的,但仍然被拦,会提示可能是其他防火墙或安全软件拦截了 HomePodCast.exe。
  • 电脑插网线时,网络提示不会再说「电脑这边的 Wi-Fi 不稳」。
  • HomePodCast 已经在运行时再次启动它,会把已打开的窗口调到前面。
  • README 常见问题「偶尔卡一下怎么办」:第一步改为检查 HomePod 连的频段。

HomePodCast 0.2.2-beta.5

Pre-release

Choose a tag to compare

@github-actions github-actions released this 11 Oct 17:02

0.2.2 beta 5. Not code-signed yet, so SmartScreen may warn ("More info" → "Run anyway"). If you have beta 4, you can install this one from Settings → Updates → Check for updates → Update. Changes since beta 4:

  • Check for updates automatically: the description now says what it is for: a notification when a new version is out. It never installs anything by itself.
  • Behind the scenes: a steadier timing test and a fix for the Microsoft Store package build. Nothing else changes in the app.

0.2.2 测试版 5:程序未签名,Windows 可能弹出 SmartScreen 提示(点「更多信息」→「仍要运行」)。装着测试版 4 的话,可以在 设置 →「软件更新」→「检查更新」→「更新」直接升级到这一版。相对测试版 4 的变化:

  • 「自动检查更新」:说明文字改为先讲它的用处,即有新版本时弹出通知提醒你,并且它不会自动安装任何东西。
  • 幕后改动:一个计时测试更稳定了,Microsoft Store 安装包的构建问题也修好了。程序的其他功能没有变化。

HomePodCast 0.2.2-beta.4

Pre-release

Choose a tag to compare

@github-actions github-actions released this 11 Oct 16:44

0.2.2 beta 4. Not code-signed yet, so SmartScreen may warn ("More info" → "Run anyway"). This is the first version that can update itself: install it by hand once, and later versions can be installed from Settings → Updates. New since beta 1 (betas 2 and 3 were never published: their builds failed):

New:

  • Updates (Settings → Updates): Check for updates asks GitHub for the latest release of your channel, Stable or Beta (Beta by default on a beta build). If there is one: Update, Release notes or Skip this version. Update downloads the MSI, checks it against the SHA-256 GitHub lists for it, quits HomePodCast, installs through one administrator prompt and starts it again. Nothing is installed without your click, and it never offers an older version.
  • Automatic update checks are off by default. Then HomePodCast doesn't go online at all; the only internet request is the check you start. Turned on, it checks about 30 seconds after start and then once a day, and shows a notification and a banner on Home when a new version is out.
  • The portable zip doesn't replace itself: Update opens the release page.
  • Privacy policy: PRIVACY.md (no telemetry, no accounts; what stays on your PC and the one optional internet request).

Fixed:

  • Starting HomePodCast while it is already running brings its window forward again. The second start used to fail quietly.

0.2.2 测试版 4:程序未签名,Windows 可能弹出 SmartScreen 提示(点「更多信息」→「仍要运行」)。这是第一个能自己更新的版本:这一版需要手动安装一次,以后的版本就可以在设置里直接更新。在测试版 1 的基础上新增以下内容(测试版 2 和 3 构建失败,没有发布):

新增

  • 软件更新(设置 →「软件更新」):点「检查更新」会向 GitHub 查询你所选渠道(正式版或测试版,装的是测试版时默认测试版)的最新版本。有新版本时可以选「更新」「查看说明」或「跳过此版本」。点「更新」会下载 MSI 安装包,先用 GitHub 提供的 SHA-256 校验,然后退出 HomePodCast、弹出一次管理员授权完成安装,装好后自动重新打开。不点就不会安装,也不会提示降级到旧版本。
  • 自动检查更新默认关闭:关闭时 HomePodCast 完全不联网,只有你手动点「检查更新」才会查询一次。打开后,会在启动约 30 秒后和之后每天检查一次,有新版本时弹出通知,首页顶部也会出现提示。
  • 便携版(zip)不会自己替换文件,点「更新」会打开发布页。
  • 隐私政策:PRIVACY.md(没有遥测、不需要账号;说明哪些数据只留在你的电脑上,以及唯一一项可选的联网请求)。

修复

  • HomePodCast 已经在运行时再次启动它,现在会把已打开的窗口调到前面。以前第二次启动会悄悄失败。