Merge branch 'main' into allow_hardware_param
This commit is contained in:
commit
653bd417e5
@ -40,7 +40,7 @@ pdm run xiaomusic.py
|
||||
docker run -e MI_USER=<your-xiaomi-account> -e MI_PASS=<your-xiaomi-password> -e MI_DID=<your-xiaomi-speaker-mid> -e MI_HARDWARE='L07A' -e XIAOMUSIC_PROXY=<proxy-for-yt-dlp> -e XIAOMUSIC_HOSTNAME=192.168.2.5 -p 8090:8090 -v ./music:/app/music hanxi/xiaomusic
|
||||
```
|
||||
|
||||
- XIAOMUSIC_PROXY 用于配置代理,yt-dlp 工具下载歌曲会用到。
|
||||
- XIAOMUSIC_PROXY 用于配置代理,默认为空,yt-dlp 工具下载歌曲会用到。
|
||||
- MI_HARDWARE 是小米音箱的型号,默认为'L07A'
|
||||
- 注意端口必须映射为与容器内一致,XIAOMUSIC_HOSTNAME 需要设置为宿主机的 IP 地址,否则小爱无法正常播放。
|
||||
- 可以把 /app/music 目录映射到本地,用于保存下载的歌曲。
|
||||
|
@ -56,7 +56,7 @@ class Config:
|
||||
music_path: str = os.getenv("XIAOMUSIC_MUSIC_PATH", "music")
|
||||
hostname: str = os.getenv("XIAOMUSIC_HOSTNAME", "192.168.2.5")
|
||||
port: int = int(os.getenv("XIAOMUSIC_PORT", "8090"))
|
||||
proxy: str = os.getenv("XIAOMUSIC_PROXY", "http://192.168.2.5:8080")
|
||||
proxy: str = os.getenv("XIAOMUSIC_PROXY", None)
|
||||
|
||||
def __post_init__(self) -> None:
|
||||
if self.proxy:
|
||||
|
@ -296,13 +296,17 @@ class XiaoMusic:
|
||||
if self.download_proc:
|
||||
self.download_proc.kill()
|
||||
|
||||
self.download_proc = await asyncio.create_subprocess_exec(
|
||||
sbp_args = (
|
||||
"yt-dlp", f"ytsearch:{name}",
|
||||
"-x", "--audio-format", "mp3",
|
||||
"--paths", self.music_path,
|
||||
"-o", f"{name}.mp3",
|
||||
"--proxy", f"{self.proxy}",
|
||||
"--ffmpeg-location", "./ffmpeg/bin")
|
||||
|
||||
if self.proxy:
|
||||
sbp_args += ("--proxy", f"{self.proxy}")
|
||||
|
||||
self.download_proc = await asyncio.create_subprocess_exec(*sbp_args)
|
||||
await self.do_tts(f"正在下载歌曲{name}")
|
||||
|
||||
def get_filename(self, name):
|
||||
|
Loading…
Reference in New Issue
Block a user