ytcast 项目使用教程
1. 项目的目录结构及介绍
ytcast/
├── cmd/
│ └── ytcast/
│ └── main.go
├── internal/
│ ├── cache/
│ │ └── cache.go
│ ├── dial/
│ │ └── dial.go
│ ├── remote/
│ │ └── remote.go
│ └── ytcast/
│ └── ytcast.go
├── .gitignore
├── go.mod
├── go.sum
├── LICENSE
└── README.md
目录结构介绍
- cmd/: 包含项目的入口文件,通常是
main.go
文件所在的位置。 - internal/: 包含项目的内部逻辑代码,通常是项目的核心功能实现。
- cache/: 缓存相关的代码。
- dial/: DIAL 协议相关的代码。
- remote/: 远程控制相关的代码。
- ytcast/: ytcast 核心逻辑代码。
- .gitignore: Git 忽略文件配置。
- go.mod: Go 模块依赖管理文件。
- go.sum: Go 模块依赖的校验文件。
- LICENSE: 项目许可证文件。
- README.md: 项目说明文档。
2. 项目的启动文件介绍
启动文件路径
cmd/ytcast/main.go
启动文件介绍
main.go
是 ytcast 项目的入口文件,负责初始化项目并启动核心功能。该文件主要包含以下内容:
- 初始化缓存: 加载缓存文件,用于存储设备信息和状态。
- 搜索设备: 通过 SSDP 协议在本地网络中搜索支持 DIAL 协议的设备。
- 启动应用: 如果目标设备上的 YouTube 应用未启动,则通过 DIAL 协议启动应用。
- 播放视频: 通过 YouTube Lounge API 请求播放指定的 YouTube 视频。
3. 项目的配置文件介绍
配置文件路径
ytcast 项目没有明确的配置文件,所有配置通过命令行参数传递。
配置项介绍
- -d: 指定目标设备的名称或部分名称。
- -p: 播放 YouTube 播放列表中的所有视频。
- -a: 将视频添加到播放队列中。
- -t: 指定视频的开始时间(仅适用于第一个视频)。
示例
ytcast -d "LG 32" https://www.youtube.com/watch?v=dQw4w9WgXcQ
该命令将指定的 YouTube 视频投放到名为 "LG 32" 的设备上。