手中有用过的魅族MX2手机一个,屏幕已坏,大部分区域已无法接受点击,放抽屉吃灰已有几年。最近偶然看到安卓手机应用神器——Termux,可以基于安卓系统构建一个模拟Linux运行环境,关键是其有自己的pkg 软件库,可以极大扩展其功能,挂个个人网站、跑跑离线下载、安装python、make等环境进行编程语言学习等,简直是喜欢折腾人的天堂。想着我的手机除了屏幕不能点,CPU有点过时外,其它的都还好,完全符合折腾这个的条件,于是千辛万苦安装上Termux应用(屏幕无法完整点击,需要在有限区域内想尽各种办法让交互响应:adb shell、输入法排版切换、网页远程输入什么招都用尽了,后来买了个OTG转换口<MX2在OTG模式下无法直接用鼠标,供电不足-_-!!!,还好手中还有个USB HUB可以进行额外支持>情况稍微好些,但彼时所需的环境基本已经折腾到手机上了)。
安装好后作如下设置:
1. 安装Tasker,添加开机启动,并且通过它来启动Termux应用,保证手机重启即运行Termux环境。
2. 添加$PREFIX/etc/profile.d中启动执行脚本,进行crond和sshd检查,未启动则启动任务服务和opensshd服务。
3. 换pkg的source.list为清华源,加快所需pkg包的安装速度(Termux官方源在国外)。
4. 安装常用pkg包,如sox, ffmpeg, mpv, python, vim, node, curl, git等,按需折腾。
5. 编写基于ssh的内网端口转发脚本,将ssh端口映射至个人VPS服务器,并添加到计划任务,定时检测,确保将手机ssh服务映射至公网,并能在连接断开后一段时间内自动恢复连接。
至此,将平时所用功能拷贝至手机上手,个人所用功能就差不多了。有次想用手机放点歌来听听,一来手机屏幕无法点,无法查找音乐与输入内容(要为这点事去换上OTG并且调试好鼠标能点的环境太费事了),二来想随机听点推荐音乐也比较麻烦,突然想到现在既然有个轻型Linux环境了,何不自己写个基于终端的功能实现呢。于是网上搜了下能用的音乐接口API(可根据歌曲名找到具体json数据,找到ID和URL),再去找一下对应网站音乐推荐页面,跑一下页面,找到推荐列表请求的链接,分析一下列表,找到歌名列表,再用API进行数据请求,得到所需数据,用MPV进行在线播放。
目前简单实现了以下功能:
1. 获取TX音乐推荐列表。
2. 不给任何参数调用时,默认读取当天的音乐推荐;给定第一个参数形如"2019-09-15"进行日期指定,播放指定日期的音乐推荐列表。
3. 若想指定播放某歌曲,则可指定歌曲名,如“喜欢你”,则第一个参数会被忽略,但需以空值占位(如填一个0)。
代码如下,相关环境可自行用pkg或apt进行添加。
废旧安卓手机当Linux服务器并实现歌曲点播功能
于 2019-09-16 13:53:11 首次发布