|
|

楼主 |
发表于 2022-6-25 08:31
|
显示全部楼层
(手记续)
一位内网音乐爱好者补充了一个建议:应该检测MP3的合法性。
这个,关于音频合法性的检测,最初设计时,我是想到的,做的时候又觉得,lrc制作属需求性行为,使用者不太可能输入一个不合法的url,故此后来没有加入音频检测机制。
不过这个建议倒是给我一个思考,与音频检测有关,它是关于工作模式切换后的音频url的逻辑问题。比方讲,制作完一个lrc,又想转换另外一个lrc,或想检验同步情况的歌曲发生了变化,那么,如何让 audio 知道新的音频url?
我最初并未对此做额外处理,依据的是新文本框的url是否存在音频地址,属于自然判断法。这能维护上述思考提出的模式切换的音频逻辑问题,但显然不够紧密。
所以,我可以设计一个小函数,用以检测是否有新的音频地址,如果使用者输入了新的音频地址或文件名,则表明使用者需要切换歌曲。这与现在花潮LRC在线所能实现的功能一致,但加入了行为,逻辑与准确性得以强化。具体方法如下:
一、加入一个公用变量,yp;
二、写一个小函数,getURL(url),其作用是检测并删除头尾空格url:
function getUrl(url) {
let reg = /\.?:wav|mp3|wma|ogg|aac|ape|flac$/;
if(reg.test(url.toLowerCase())) aud.src = yp = url.trim();
}
函数第一行,建立一个匹配正则,url地址中末尾若存在 .wav、.mp3、.wma等这样的后缀,则视为是合法的音频文件;第二行,用正则的 test 进行检测,若 reg 正则测试出为真的效果,则同时给 audio 的 src 和 yp 变量赋值,赋值前去除url的头尾空格。
当前,上述检测机制正处于内部测试阶段。
|
评分
-
| 参与人数 2 | 威望 +100 |
金钱 +200 |
经验 +100 |
收起
理由
|
小辣椒
| + 50 |
+ 100 |
+ 50 |
赞一个! |
红影
| + 50 |
+ 100 |
+ 50 |
赞一个! |
查看全部评分
|