• Stars
    star
    169
  • Rank 224,453 (Top 5 %)
  • Language
    Python
  • Created about 2 years ago
  • Updated 4 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

让小爱音箱播放局域网NAS上的音乐

httpRandomMusic

本项目能让你的小爱音箱播放局域网NAS上的音乐
因为小爱play增强版的BES2300太垃圾了,曲库没一首歌能够完整放完的

当然了这个程序还能配合esp8266或esp32作为随机的音乐电台

如何部署

在你的nas上安装Python3,下载并打开httpRandomMusic.py,编辑fileDir变量,填写你存放音乐的文件夹的完整路径
如果你是Windows服务器,那你的路径可能是E:\音乐的,要把\换成/

如果您需要在线转码,请修改ffmpeg变量,填写你的ffmpeg路径,比如群晖的是/var/packages/VideoStation/target/bin/ffmpeg
如果不需要请留空,既改成ffmpeg = '' 如果您不知道您的音响到底能不能放flac等比较先进的音频格式,可以先留空试试,如果不能播放,再填写ffmpeg路径,因为音频会实时转成没有任何压缩的wav格式,所以服务端需要相对较高的局域网带宽和性能

然后修改路由器的hosts,加入这样一行,或者直接将服务器主机名改成op

你服务器的ip op.lan op

就算你使用别的方式也好,只要将op.lan这个不存在的域名在你局域网解析到你的服务器就行了
然后启动程序
如果你没有正确的配置解析或是主机名,程序将报错并拒绝启动
请不要自作聪明的将程序里的op改成别的来尝试启动,绝对用不了

# 正常是这样启动的
python3 httpRandomMusic.py
# Windows可能是这样的
python httpRandomMusic.py

验证部署

用其他设备浏览器访问 http://op.lan:65533 能正常播放
如果你可以进去小爱音响的shell,那么尝试 curl -v http://op.lan:65533
此时控制台会有响应的输出
如果能验证通过但还是用不了,请尝试重启,并确保dns真的成功劫持了,因为只要能解析就一定能用

如何使用

小爱同学
打开小怪

然后以下三条指令三选一

指令 功能
播放服务器的音乐 按着上次的进度继续播放(没有进度就是从头放)
从头播放服务器的音乐 按修改时间倒序播放(先放最后放进文件夹的文件)
随机播放服务器的音乐 随机播放(播放列表打乱,不会重复随机到同一首)

FAQ

Q:为什么不做文件名搜索功能?
A:因为与技能的网抑云歌曲搜索功能冲突(搜索xxx,播放xxx),以及这只是个附属功能,小爱同学只支持中文语音识别,所以搜索非常局限

Q:为什么只支持一层文件夹内文件播放?
A:因为没有写多层文件夹文件扫描,以及加快扫描速度,欢迎PR

Q:怎么放不出声音?
A:文件格式不支持,BES2300的音响性能太差,跑的是NuttX而不是旧款的Openwrt,使用了裁剪的ffmpeg,大概只能放mp3(印着xiaomi的小爱音响play和play增强版)
已支持使用ffmpeg实时转码成wav,支持所有格式,你甚至可以将视频当音频放

Q:群晖怎么用?
A:在软件中心安装Python3,如果需要ffmpeg实时转码还需要安装VideoStation,然后将本程序放到一个你喜欢的地方,在计划任务添加一个开机启动,命令是python3 你的路径/httpRandomMusic.py,然后手动点击一下运行,就可以用了

More Repositories

1

tcp-over-websocket

将TCP/UDP放到WebSocket中传输(就能走CDN)基于ws的内网穿透 隧道代理 tcp2ws 全平台0依赖
Go
272
star
2

dingBle

esp32修改蓝牙mac地址 模拟蓝牙打卡机
C++
94
star
3

cloudflare-api-v4-ddns

cloudflare 一键 ddns 脚本 (大陆可用)
Shell
91
star
4

make_lrc_music_m3u

网抑云音乐歌单同步 导出播放列表 Cloud music playlist sync
Python
29
star
5

fixBadDisk

一键 u盘/内存卡/硬盘 坏块屏蔽工具 防作弊测速工具
Python
26
star
6

mecopy

咩复制 自动压缩剪贴板大图片 专治QQ微信“过大图片将转换成文件发送” 不降低分辨率
Go
22
star
7

Lenovo-M710q-QNCT-DW1560-Hackintosh

联想M710q 魔改QNCT 博通DW1560 (94352z) 黑苹果 OpenCore 引导
22
star
8

wd40

清滑大学(清华大学)开源镜像 愚人节彩蛋 指南
21
star
9

usb2lcd

Sparkle USB2LCD (LCD2USB) lcd1602 tiny85 digispark
Python
15
star
10

esp32-st7789v-ft6236u-arduino

1.3inch 240x240 LVGL Arduino PlatormIO
C
12
star
11

workdayAlarmClockAndroid

工作咩闹钟 workdayAlarmClockGo的Android服务端 用于播放声音 因为Android下没有像sox那样的命令行播放器 兼命令行音乐播放器
Kotlin
12
star
12

meUiharu-miBand7-Watchface

小米手环7 显示秒 亮度调节 MFA/2FA/TOTP两步验证 日历 随机骰子🎲 咩咩的初春饰利 照片表盘
12
star
13

cloudMusicDlna

网易云歌单dlna推送 play CloudMusic on dlna player
Python
11
star
14

me433IR

咩射频 315/433Mhz射频与红外互转 最便宜的小爱音响射频模块
C++
10
star
15

githubBackup

备份Github所有仓库(包括私仓)纯shell实现
Shell
10
star
16

daKuaiTou

喜羊羊 大块头 Esp32-Cam Web遥控视频小车
HTML
9
star
17

workdayAlarmClockGo

工作咩闹钟 使用 Golang 重构的 工作日闹钟 服务端 社畜的一天从美好的音乐开始 每天不同的闹钟铃声 全平台兼容包括Android
Go
9
star
18

meBackup

(开发中)咩备份 将Android数据备份到任意SSH服务端 基于YAWAsau/backup_script修改
Shell
8
star
19

dingAP

小锤锤锤钉钉
C++
7
star
20

png2heic

自动转换图片到heic或webp 依赖ffmpeg mp4box exiftool
Python
6
star
21

windows-fonts

Windows Fonts Backup zh_CN Windows系统自带中文字体,可用于补全Wine字体缺失,除了mingliub.ttc这个不常用的太大无法上传
5
star
22

espBadUSB-Plus

esp usb 的i2c通信版本 功能更完善的wifi usb hid攻击器
C++
5
star
23

miLightSg90

咩咩房间的灯sg90舵机控制器 HomeKit 小爱 关灯神器
C++
5
star
24

3dLcd2Usb

使用3D打印机通用的LCD2004面板(老王店的)的LCD2USB arduino pro mini
Go
5
star
25

zanjie1999

5
star
26

kindle-vnc

kual插件 vnc服务与客户端 吊打某奸商 依赖kterm
Lua
5
star
27

weiboToPrivate

微博批量转仅自己可见
JavaScript
4
star
28

blvFfmpegConcat

bilibili哔哩哔哩(Android)缓存合并
Python
4
star
29

make_m3u

网易云音乐m3u播放列表生成器 另外附上一个ubuntu18能跑的网易云
Python
4
star
30

HP-Clover

惠普envy13 8代处理器 & 惠普 光影精灵2 pro 7代处理器
3
star
31

bleLock

Windows系统的蓝牙锁(像小米感应钥匙)支持任意可扫描蓝牙设备
Go
2
star
32

tomcat-redis-session-manager-help

nginx负载均衡转发tomcat
Nginx
2
star
33

MeHttpPush

Typecho 新评论推送 reCAPTCHA自动提交 支持Server酱,Bark,Telegram等使用HTTP的推送api
PHP
2
star
34

esp32WebCam

esp-cam web camera
C
2
star
35

esp32-cam-rtsp

esp32-cam rtsp 服务
C++
2
star
36

arduino-esp32s2

esp32-s2 for Arduino
C
1
star
37

lgt8f328-pio

Logic Green (LGT) boards support for Platfrom IO
C
1
star
38

kindle-mplayer-cloudmusic

在kindle上使用otg接usb声卡播放网易云歌单的内容
Python
1
star
39

lede-vpod

lede for Vpod HOLL M1
C
1
star
40

espBadUSB

在线编辑 web服务器 WiFi Ducky 使用 ESP8266 + ATMEGA32U4
HTML
1
star
41

redpill-loader-action

群辉dsm7引导918
Shell
1
star
42

showArgvSocket

绕过堡垒机对ssh软件的限制
Python
1
star
43

redpill-tool-chain

群辉dsm7引导3615
Shell
1
star
44

ctrl-pad

咩咩房间的控制屏幕
Vue
1
star
45

bvav

哔哩哔哩av号BV号互转
HTML
1
star
46

steam-auth-js

steam令牌js实现
JavaScript
1
star
47

espMp3Player

软解音频的测试代码
C++
1
star
48

HidpiFix

解决gpd pocket2 各种hidpi奇怪问题
Shell
1
star
49

metime

咩时间
Kotlin
1
star
50

biliHaokanCheck

检查哔哩哔哩用户在好看视频中被盗的视频
Python
1
star
51

Sparkle-PE

带有线无线网卡声卡驱动 Chrome 支持smb网络共享 运行环境齐全的 WIn PE 维护盘
1
star