{"id":19751490,"url":"https://github.com/zanjie1999/workdayalarmclockgo","last_synced_at":"2026-05-03T08:15:15.572Z","repository":{"id":177546017,"uuid":"660528212","full_name":"zanjie1999/workdayAlarmClockGo","owner":"zanjie1999","description":"工作咩闹钟 使用 Golang 重构的 工作日闹钟 服务端 社畜的一天从美好的音乐开始 每天不同的闹钟铃声 全平台兼容包括Android","archived":false,"fork":false,"pushed_at":"2024-08-22T18:49:35.000Z","size":7811,"stargazers_count":11,"open_issues_count":1,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-08-22T21:03:42.483Z","etag":null,"topics":["alarm-clock","golang","server","workday"],"latest_commit_sha":null,"homepage":"https://www.bilibili.com/video/BV1X142147Cb/","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zanjie1999.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-06-30T07:59:58.000Z","updated_at":"2024-08-22T18:49:38.000Z","dependencies_parsed_at":"2023-07-10T22:30:42.911Z","dependency_job_id":"d27ee617-da11-4514-9f79-c6496d2e4504","html_url":"https://github.com/zanjie1999/workdayAlarmClockGo","commit_stats":null,"previous_names":["zanjie1999/goalarmclock"],"tags_count":18,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zanjie1999%2FworkdayAlarmClockGo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zanjie1999%2FworkdayAlarmClockGo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zanjie1999%2FworkdayAlarmClockGo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zanjie1999%2FworkdayAlarmClockGo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zanjie1999","download_url":"https://codeload.github.com/zanjie1999/workdayAlarmClockGo/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224208222,"owners_count":17273674,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["alarm-clock","golang","server","workday"],"created_at":"2024-11-12T02:44:21.869Z","updated_at":"2026-05-03T08:15:15.567Z","avatar_url":"https://github.com/zanjie1999.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 使用 Golang 重构的 工作咩闹钟  \n原项目是 [工作日闹钟](https://github.com/zanjie1999/workdayAlarmClock)，从2017年用Python2写出来后，使用Python3重构，现在使用Golang重构，最大的原因是想适配Android  \n\n本闹钟可以在设定的时间（支持中国法定节假日），从设定的网抑云歌单中随机抽取多首音乐作为闹钟铃声，可以自定义闹钟时长  \n另外可以作为网抑云音乐播放器使用，随机播放永不重复，实现除语音助手外的智能音响应有的功能  \n\n这是一个服务端程序，交互将通过8080端口的Web服务在浏览器完成，尽量减少ram占用，以便运行在骁龙210的随身WiFi上（包括Android端仅占用47M的Ram），使用蓝牙音响播放闹钟声音\n\n这个程序将解决传统闹钟的几个问题：\n1. 在节假日调休的情况下，该响的时候不响不该响的时候响\n2. 闹钟铃声千篇一律，天天一样，容易听腻\n3. 闹钟时间不够长，声音不够大，容易睡过头\n4. 小爱音响断网后闹钟不会响\n5. 闹钟随机音乐不能放我喜欢的歌\n6. 随机播放重复概率过高\n7. 无法设置指定日期的闹钟\n\n## 如何使用\n因v13修改了闹钟存储方式来支持同时间多闹钟，以及指定日期闹钟，你可根据当月排班来设置闹钟，因此从低版本更新到v13之后的版本，需要手动删除所有闹钟再更新\n\nAndroid使用 [App](https://github.com/zanjie1999/workdayAlarmClockAndroid)  \n\n其他平台（Windows，Linux）推荐使用 [meMp3Player](https://github.com/zanjie1999/meMp3Player) 作为播放器使用  \n即这样启动 `workdayAlarmClock 你的播放器路径`  \n比如 `workdayAlarmClock ./meMp3Player`\n\n或者需要安装sox和curl，或者使用你喜欢的播放器  \nLinux: `包管理器比如apt或者yum等 install sox curl`  \nmacOS: `brew install sox curl` \n\nWindows随便找个播放器基本都能用，需要播放时阻塞，放完自动退出的那种\nWindows：这样启动 `workdayAlarmClock 你的播放器路径`  \n\n暂停，音量控制目前仅在Android可用\n\n打开同局域网任意设备的浏览器，访问 `http://你的设备ip地址:8080`  \n点击 闹钟设置 根据说明进行设置  \n对浏览器没有要求，ie5即使关闭js也能实现基础的功能  \n另外有关于指定日期闹钟的设置，你可以使用半角逗号`,`进行分隔，一次性输入多个日期，比如，8月3日和12月11日，就输入`0803,1211`  \n\nv18.5开始允许在默认歌单和闹钟歌单id的位置输入流媒体的URL，比如你可以输入一个当地新闻广播的流媒体地址，让每天早上的闹钟播放的是当地的新闻\n\n## 指令\n除了直接在shell输入，还可以直接在访问地址后拼接，使用GET请求调用，如 `http://127.0.0.1:8080/1key`\n```shell\n# 停止播放\nstop\n# 下一首\nnext\n# 上一首\nprev\n# 退出\nexit\n# 一键播放歌单、停止\n1key\n# 定时停止\nstop 分钟数\n# 播放歌单id\nplaylist 7668635210\n# 播放歌曲\nplaymusic 2604307454\n# 测试闹钟\ntestalarm\n# 创建文件\ntouch 文件名\n# 删除文件\nrm 文件名\n# 设置缓存路径 路径为null则关闭，不传则输出当前值\nsavepath 路径\n# 获取ip地址\nip\n```\n\n### 关于“上一首”按钮的特殊说明\n在没有播放记录时，会播放设置的默认歌单，再按一次则随机播放  \n在有播放记录时，会播放上一首，再按一次播放设置的默认歌单，再按一次则随机播放  \n在Android支持多媒体物理按键控制，逻辑相同  \n其中一说宝宝的鼻子是停止按钮，叮咚play的勿扰按钮短按暂停长按停止\n\n\n### 天气播报\n会在每次闹钟停止后（手动停止或播放完自动停止），播报今天的天气和前一天的温度差，以便决定穿什么衣服  \n你需要手动在闹钟设置中输入天气代码的框中输入你的区/市，并点击右边的查询按钮，保存设置后尝试点击“测试获取天气”来检查是否能正常使用  \n因配额资源有限，请勿将我的语音合成api用于其他用途，谢谢合作，否则将会取消这一功能\n\n### 音频缓存\n可以在没有网络的时候播放之前播放过的歌曲  \n设置了缓存目录后，并且重启启动后，可以在 `/music` 对缓存进行浏览  \n歌单会优先使用网络的，歌曲则会优先播放缓存的，在切换音质后需要清理缓存才能播放目标音质的音频  \n另外增加了 `/sdcard` 路径，用于访问Android设备的sdcard中的文件  \n\n### 全屋同步播放\n实现了一个很酷的功能，可以让局域网所有工作咩闹钟设备同时放一样的音乐，也可以叫UDP广播群控  \n只需要在闹钟设置中想作为主机的设备上勾选 `全屋同步播放主机` 即刻  \n由于配置不一样的配置的设备处理的速度不一样，所以你可能需要在闹钟设置中配置 `同步偏移`  \n单位是ms毫秒（1秒=1000毫秒），数字越大，将越早开始播放，数字越小（可以为负数）  \n说小米垃圾是有原因的，os1系统的k60pro播放音频的速度居然比骁龙625 miui10的红米note4x还慢了710ms  \n\n### 协议 咩License\n使用此项目视为您已阅读并同意遵守 [此LICENSE](https://github.com/zanjie1999/LICENSE)   \nUsing this project is deemed to indicate that you have read and agreed to abide by [this LICENSE](https://github.com/zanjie1999/LICENSE)   \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzanjie1999%2Fworkdayalarmclockgo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzanjie1999%2Fworkdayalarmclockgo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzanjie1999%2Fworkdayalarmclockgo/lists"}