zanjie1999/workdayAlarmClockGo
工作咩闹钟 使用 Golang 重构的 工作日闹钟 服务端 社畜的一天从美好的音乐开始 每天不同的闹钟铃声 全平台兼容包括Android 禁止商用
使用 Golang 重构的 工作咩闹钟
原项目是 工作日闹钟,从2017年用Python2写出来后,使用Python3重构,现在使用Golang重构,最大的原因是想适配Android
本闹钟可以在设定的时间(支持中国法定节假日),从设定的网抑云歌单中随机抽取多首音乐作为闹钟铃声,可以自定义闹钟时长
另外可以作为网抑云音乐播放器使用,随机播放永不重复,实现除语音助手外的智能音响应有的功能
这是一个服务端程序,交互将通过8080端口的Web服务在浏览器完成,尽量减少ram占用,以便运行在骁龙210的随身WiFi上(包括Android端仅占用47M的Ram),使用蓝牙音响播放闹钟声音
这个程序将解决传统闹钟的几个问题:
- 在节假日调休的情况下,该响的时候不响不该响的时候响
- 闹钟铃声千篇一律,天天一样,容易听腻
- 闹钟时间不够长,声音不够大,容易睡过头
- 小爱音响断网后闹钟不会响
- 闹钟随机音乐不能放我喜欢的歌
- 随机播放重复概率过高
- 无法设置指定日期的闹钟
如何使用
因v13修改了闹钟存储方式来支持同时间多闹钟,以及指定日期闹钟,你可根据当月排班来设置闹钟,因此从低版本更新到v13之后的版本,需要手动删除所有闹钟再更新
Android使用 App
其他平台(Windows,Linux)推荐使用 meMp3Player 作为播放器使用
即这样启动 workdayAlarmClock 你的播放器路径
比如 workdayAlarmClock ./meMp3Player
或者需要安装sox和curl,或者使用你喜欢的播放器
Linux: 包管理器比如apt或者yum等 install sox curl
macOS: brew install sox curl
Windows随便找个播放器基本都能用,需要播放时阻塞,放完自动退出的那种
Windows:这样启动 workdayAlarmClock 你的播放器路径
暂停,音量控制目前仅在Android可用
打开同局域网任意设备的浏览器,访问 http://你的设备ip地址:8080
点击 闹钟设置 根据说明进行设置
对浏览器没有要求,ie5即使关闭js也能实现基础的功能
另外有关于指定日期闹钟的设置,你可以使用半角逗号,进行分隔,一次性输入多个日期,比如,8月3日和12月11日,就输入0803,1211
v18.5开始允许在默认歌单和闹钟歌单id的位置输入流媒体的URL,比如你可以输入一个当地新闻广播的流媒体地址,让每天早上的闹钟播放的是当地的新闻
指令
除了直接在shell输入,还可以直接在访问地址后拼接,使用GET请求调用,如 http://127.0.0.1:8080/1key
# 停止播放
stop
# 下一首
next
# 上一首
prev
# 退出
exit
# 一键播放歌单、停止
1key
# 定时停止
stop 分钟数
# 播放歌单id
playlist 7668635210
# 播放歌曲
playmusic 2604307454
# 测试闹钟
testalarm
# 创建文件
touch 文件名
# 删除文件
rm 文件名
# 设置缓存路径 路径为null则关闭,不传则输出当前值
savepath 路径
# 获取ip地址
ip关于“上一首”按钮的特殊说明
在没有播放记录时,会播放设置的默认歌单,再按一次则随机播放
在有播放记录时,会播放上一首,再按一次播放设置的默认歌单,再按一次则随机播放
在Android支持多媒体物理按键控制,逻辑相同
其中一说宝宝的鼻子是停止按钮,叮咚play的勿扰按钮短按暂停长按停止
天气播报
会在每次闹钟停止后(手动停止或播放完自动停止),播报今天的天气和前一天的温度差,以便决定穿什么衣服
你需要手动在闹钟设置中输入天气代码的框中输入你的区/市,并点击右边的查询按钮,保存设置后尝试点击“测试获取天气”来检查是否能正常使用
因配额资源有限,请勿将我的语音合成api用于其他用途,谢谢合作,否则将会取消这一功能
音频缓存
可以在没有网络的时候播放之前播放过的歌曲
设置了缓存目录后,并且重启启动后,可以在 /music 对缓存进行浏览
歌单会优先使用网络的,歌曲则会优先播放缓存的,在切换音质后需要清理缓存才能播放目标音质的音频
另外增加了 /sdcard 路径,用于访问Android设备的sdcard中的文件
全屋同步播放
实现了一个很酷的功能,可以让局域网所有工作咩闹钟设备同时放一样的音乐,也可以叫UDP广播群控
只需要在闹钟设置中想作为主机的设备上勾选 全屋同步播放主机 即刻
由于配置不一样的配置的设备处理的速度不一样,所以你可能需要在闹钟设置中配置 同步偏移
单位是ms毫秒(1秒=1000毫秒),数字越大,将越早开始播放,数字越小(可以为负数)
说小米垃圾是有原因的,os1系统的k60pro播放音频的速度居然比骁龙625 miui10的红米note4x还慢了710ms
协议 咩License
使用此项目视为您已阅读并同意遵守 此LICENSE
Using this project is deemed to indicate that you have read and agreed to abide by this LICENSE