pyatv 项目使用教程
1. 项目介绍
pyatv
是一个用于与 Apple TV 和 AirPlay 设备交互的异步 Python 库。它主要针对所有代次的 Apple TV(包括 tvOS 15 及更高版本),但也支持通过 AirPlay 进行音频流式传输到 HomePod、AirPort Express 和第三方扬声器等接收器。此外,它还可以作为 macOS 中 Music 应用/iTunes 的遥控器。
pyatv
提供了丰富的功能,包括远程控制命令、元数据检索、AirPlay 流媒体、列出并启动已安装的应用、管理用户账户、添加或移除音频输出设备(如 HomePods)、键盘支持以及持久存储凭证和设置等。
2. 项目快速启动
安装 pyatv
你可以通过 pip
安装 pyatv
:
pip install pyatv
设置新设备
使用 atvremote
工具设置新设备:
atvremote wizard
该命令会扫描并列出可用的设备,选择你要设置的设备并输入 PIN 码进行配对。
示例命令
设置完成后,你可以直接运行其他命令:
# 获取当前播放状态
atvremote -s 10.0.10.254 playing
# 暂停播放
atvremote -s 10.0.10.254 pause
# 继续播放
atvremote -n FakeATV play
使用 Docker 运行
你也可以使用 Docker 运行 pyatv
:
docker run -it --rm --network=host ghcr.io/postlund/pyatv:0.14.0 atvremote scan
3. 应用案例和最佳实践
远程控制 Apple TV
pyatv
可以用于远程控制 Apple TV,例如播放、暂停、调整音量等操作。这对于家庭自动化系统非常有用,可以通过编程实现自动化控制。
音频流式传输
通过 pyatv
,你可以将音频流式传输到支持 AirPlay 的设备,如 HomePod、AirPort Express 等。这对于构建多房间音频系统非常有用。
元数据检索
pyatv
可以检索当前播放的媒体元数据,包括标题、艺术家、播放位置等信息。这对于构建媒体监控系统非常有用。
4. 典型生态项目
Home Assistant
Home Assistant 是一个开源的家庭自动化平台,其 Apple TV 集成由 pyatv
提供支持。通过 Home Assistant,用户可以自动化控制 Apple TV 和其他智能家居设备。
node-pyatv
node-pyatv
是一个基于 pyatv
构建的 Node.js 绑定库,允许开发者在 Node.js 环境中使用 pyatv
的功能。
pyatv-mqtt-bridge
pyatv-mqtt-bridge
是一个 MQTT 桥接器,允许用户通过 MQTT 协议远程控制 Apple TV。它基于 node-pyatv
构建。
homebridge-appletv-enhanced
homebridge-appletv-enhanced
是一个 Homebridge 插件,提供了 HomeKit 中本应原生支持的功能。它也使用了 pyatv
来实现 Apple TV 的控制。
通过这些生态项目,pyatv
的功能得到了进一步扩展和应用,为用户提供了更多的自动化和控制选项。