新增m3u文件转电台歌单工具
This commit is contained in:
parent
34fe19abd1
commit
463fd9dd38
63
xiaomusic/static/m3u.html
Normal file
63
xiaomusic/static/m3u.html
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="zh-CN">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width">
|
||||||
|
<title>M3U to JSON Converter</title>
|
||||||
|
<link rel="stylesheet" type="text/css" href="/static/style.css">
|
||||||
|
<!--
|
||||||
|
<script src="https://unpkg.com/vconsole@latest/dist/vconsole.min.js"></script>
|
||||||
|
<script>
|
||||||
|
// VConsole 默认会挂载到 `window.VConsole` 上
|
||||||
|
var vConsole = new window.VConsole();
|
||||||
|
</script>
|
||||||
|
-->
|
||||||
|
<script>
|
||||||
|
function handleFileSelect(evt) {
|
||||||
|
var file = evt.target.files[0];
|
||||||
|
if (file) {
|
||||||
|
var reader = new FileReader();
|
||||||
|
reader.onload = function(e) {
|
||||||
|
document.getElementById('m3u-input').value = e.target.result;
|
||||||
|
};
|
||||||
|
reader.readAsText(file);
|
||||||
|
} else {
|
||||||
|
alert('无法加载文件');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function convertToJSON() {
|
||||||
|
var m3uContent = document.getElementById('m3u-input').value;
|
||||||
|
var lines = m3uContent.split('\n');
|
||||||
|
console.log(lines);
|
||||||
|
var musicsArray = [];
|
||||||
|
var currentName = '';
|
||||||
|
lines.forEach(function(line) {
|
||||||
|
if (line.startsWith('#EXTINF:-1,')) {
|
||||||
|
currentName = line.substring(11).trim();
|
||||||
|
} else if (line.startsWith('http') && currentName !== '') {
|
||||||
|
musicsArray.push({"name": currentName, "type": "radio", "url": line.trim()});
|
||||||
|
currentName = ''; // Reset the name for the next entry
|
||||||
|
}
|
||||||
|
});
|
||||||
|
var output = [{
|
||||||
|
"name": "m3u电台",
|
||||||
|
"musics": musicsArray
|
||||||
|
}];
|
||||||
|
|
||||||
|
document.getElementById('json-output').value = JSON.stringify(output, null, 2);
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<h1>M3U to JSON Converter</h1>
|
||||||
|
<input type="file" id="file-input" accept=".m3u" onchange="handleFileSelect(event)"/><br>
|
||||||
|
<textarea id="m3u-input" rows="10" cols="50" placeholder="粘贴m3u内容或上传文件..."></textarea><br>
|
||||||
|
<button onclick="convertToJSON()">转换</button><br>
|
||||||
|
<textarea id="json-output" rows="10" cols="50" placeholder="转换后的JSON..."></textarea>
|
||||||
|
</body>
|
||||||
|
<footer>
|
||||||
|
<p>Powered by <a href="https://github.com/hanxi/xiaomusic" target="_blank">xiaomusic</a></p>
|
||||||
|
</footer>
|
||||||
|
</html>
|
||||||
|
|
@ -31,6 +31,9 @@
|
|||||||
<button onclick="location.href='/';">返回首页</button>
|
<button onclick="location.href='/';">返回首页</button>
|
||||||
<button id="get_music_list">获取歌单</button>
|
<button id="get_music_list">获取歌单</button>
|
||||||
<button id="save">保存</button>
|
<button id="save">保存</button>
|
||||||
|
<hr>
|
||||||
|
|
||||||
|
<a href="/static/m3u.html" target="_blank">m3u文件转换工具</a>
|
||||||
|
|
||||||
<footer>
|
<footer>
|
||||||
<p>Powered by <a href="https://github.com/hanxi/xiaomusic" target="_blank">xiaomusic</a></p>
|
<p>Powered by <a href="https://github.com/hanxi/xiaomusic" target="_blank">xiaomusic</a></p>
|
||||||
|
Loading…
Reference in New Issue
Block a user