home/js/music.js

147 lines
5.4 KiB
JavaScript
Raw Normal View History

/*
音乐信息
2022-01-16 23:30:27 +08:00
感谢 @武恩赐 提供的 MetingAPI
https://api.wuenci.com/meting/api/
作者: imsyy
主页https://www.imsyy.top/
GitHubhttps://github.com/imsyy/home
版权所有请勿删除
*/
var server = "netease"; //netease: 网易云音乐; tencent: QQ音乐; kugou: 酷狗音乐; xiami: 虾米; kuwo: 酷我
var type = "playlist"; //song: 单曲; playlist: 歌单; album: 唱片
2022-05-24 14:30:14 +08:00
var id = "7452421335"; //封面 ID / 单曲 ID / 歌单 ID
2022-01-16 23:30:27 +08:00
$.ajax({
2022-07-07 21:42:10 +08:00
url: "https://api.wuenci.com/meting/api/?server=" + server + "&type=" + type + "&id=" + id,
type: "GET",
dataType: "JSON",
2022-05-29 11:19:48 +08:00
success: function (data) {
const ap = new APlayer({
container: document.getElementById('aplayer'),
order: 'random',
preload: 'auto',
listMaxHeight: '336px',
volume: '0.5',
mutex: true,
lrcType: 3,
audio: data,
});
2022-01-16 23:30:27 +08:00
/* 底栏歌词 */
setInterval(function () {
2022-06-21 12:02:27 +08:00
$("#lrc").html("<span class='lrc-show'><svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='18' height='18'><path fill='none' d='M0 0h24v24H0z'/><path d='M12 13.535V3h8v3h-6v11a4 4 0 1 1-2-3.465z' fill='rgba(255,255,255,1)'/></svg>&nbsp;" + $(".aplayer-lrc-current").text() + "&nbsp;<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='18' height='18'><path fill='none' d='M0 0h24v24H0z'/><path d='M12 13.535V3h8v3h-6v11a4 4 0 1 1-2-3.465z' fill='rgba(255,255,255,1)'/></svg></span>");
}, 500);
/* 音乐通知及控制 */
ap.on('play', function () {
music = $(".aplayer-title").text() + $(".aplayer-author").text();
iziToast.info({
2022-05-24 14:30:14 +08:00
timeout: 4000,
2022-06-20 21:20:45 +08:00
icon: "fa-solid fa-circle-play",
displayMode: 'replace',
message: music
});
2022-05-24 14:30:14 +08:00
$("#play").html("<i class='fa-solid fa-pause'>");
$("#music-name").html($(".aplayer-title").text() + $(".aplayer-author").text());
if ($(document).width() >= 990) {
$('.power').css("cssText", "display:none");
$('#lrc').css("cssText", "display:block !important");
2022-05-29 11:19:48 +08:00
};
// Notification.requestPermission().then(res => {
// console.log(res)
// });
// new Notification('音乐通知', {
// body: '正在播放:' + music,
// tag: 1
// });
});
ap.on('pause', function () {
2022-05-24 14:30:14 +08:00
$("#play").html("<i class='fa-solid fa-play'>");
if ($(document).width() >= 990) {
$('#lrc').css("cssText", "display:none !important");
$('.power').css("cssText", "display:block");
}
});
$("#music").hover(function () {
$('.music-text').css("display", "none");
$('.music-volume').css("display", "flex");
}, function () {
$('.music-text').css("display", "block");
$('.music-volume').css("display", "none");
})
2022-01-29 13:09:21 +08:00
/* 一言与音乐切换 */
$('#open-music').on('click', function () {
$('#hitokoto').css("display", "none");
$('#music').css("display", "flex");
});
2022-01-29 13:09:21 +08:00
$("#hitokoto").hover(function () {
$('#open-music').css("display", "flex");
}, function () {
$('#open-music').css("display", "none");
})
2022-01-16 23:30:27 +08:00
$('#music-close').on('click', function () {
$('#music').css("display", "none");
$('#hitokoto').css("display", "flex");
});
2022-01-16 23:30:27 +08:00
/* 上下曲 */
$('#play').on('click', function () {
ap.toggle();
$("#music-name").html($(".aplayer-title").text() + $(".aplayer-author").text());
});
2022-01-16 23:30:27 +08:00
$('#last').on('click', function () {
ap.skipBack();
2022-07-09 10:13:12 +08:00
ap.play();
$("#music-name").html($(".aplayer-title").text() + $(".aplayer-author").text());
});
2022-01-16 23:30:27 +08:00
$('#next').on('click', function () {
ap.skipForward();
2022-07-09 10:13:12 +08:00
ap.play();
$("#music-name").html($(".aplayer-title").text() + $(".aplayer-author").text());
});
2022-01-16 23:30:27 +08:00
/* 打开音乐列表 */
$('#music-open').on('click', function () {
if ($(document).width() >= 990) {
$('#box').css("display", "block");
$('#row').css("display", "none");
$('#more').css("cssText", "display:none !important");
}
});
//音量调节
$("#volume").on('click touchend', function () {
var x = $("#volume").val();
ap.volume(x, true);
if (x == 0) {
2022-05-24 14:30:14 +08:00
$("#volume-ico").html("<i class='fa-solid fa-volume-xmark'></i>");
} else if (x > 0 && x <= 0.3) {
2022-06-20 21:20:45 +08:00
$("#volume-ico").html("<i class='fa-solid fa-volume-off'></i>");
} else if (x > 0.3 && x <= 0.6) {
2022-06-20 21:20:45 +08:00
$("#volume-ico").html("<i class='fa-solid fa-volume-low'></i>");
} else {
2022-05-24 14:30:14 +08:00
$("#volume-ico").html("<i class='fa-solid fa-volume-high'></i>");
}
});
},
error: function () {
setTimeout(function () {
iziToast.info({
2022-05-24 14:30:14 +08:00
timeout: 8000,
icon: "fa-solid fa-circle-exclamation",
displayMode: 'replace',
message: '音乐播放器加载失败'
});
}, 3800);
2022-01-16 23:30:27 +08:00
}
})