JS音乐播放器,实现获取存储本地音频文件,原生JS实现播放,内含可执行程序
JS音乐播放器,实现获取存储本地音频文件,原生JS实现播放,内含可执行程序。
·
JS音乐播放器,实现获取存储本地音频文件,原生JS实现播放,内含可执行程序
完整代码下载地址:JS音乐播放器,实现获取存储本地音频文件

main.js
const { app, BrowserWindow, ipcMain, dialog } = require("electron");
const DataStore = require("./utils/DataStore");
let updatedTracks = [];
const myStore = new DataStore({
name: "Music Data"
})
// console.log(app.getPath('userData'));
app.on("ready", () => {
let mainWindow = new BrowserWindow({
width: 600,
height: 600,
title: "音乐播放器",
resizable: false,
autoHideMenuBar: true,
webPreferences: {
nodeIntegration: true
},
show: false
});
mainWindow.setMenu(null);
mainWindow.loadFile("./renderer/index.html");
mainWindow.once("ready-to-show", () => {
mainWindow.show();
});
mainWindow.webContents.on("did-finish-load", () => {
mainWindow.send("init-data", {
tracks: myStore.getTracks(),
volume: myStore.getVolume()
});
});
// mainWindow.webContents.openDevTools();
let addWindow;
ipcMain.on("set-volume",(event,args)=>{
myStore.setVolume(args);
})
ipcMain.on("add", (event, args) => {
addWindow = createAddWindow(500, 400, "添加歌曲", mainWindow);
});
ipcMain.on("select-music", (event, args) => {
dialog.showOpenDialog({
title: "选择音乐",
properties: ["openFile", "multiSelections"],
filters: [{ name: 'music', extensions: ['mp3'] }],
buttonLabel: "选择"
}).then(files => {
if (files) event.sender.send("select-files", files);
});
});
ipcMain.on("add-music", (event, args) => {
if (args.length <= 0) return;
updatedTracks = myStore.addTracks(args).getTracks();
mainWindow.send("init-data", updatedTracks);
addWindow.close();
});
ipcMain.on("delete-music", (event, id) => {
if (id == null) return;
updatedTracks = myStore.deleteTracks(id).getTracks();
mainWindow.send("init-data", updatedTracks);
});
})
function createAddWindow(width, height, title, parent) {
let win = new BrowserWindow({
width,
height,
title,
resizable: false,
webPreferences: {
nodeIntegration: true
},
parent,
modal: true,
show: false
});
win.setMenu(null);
win.loadFile("./renderer/add.html");
win.once("ready-to-show", () => {
win.show();
});
return win;
// addWindow.webContents.openDevTools();
}
完整代码下载地址:JS音乐播放器,实现获取存储本地音频文件
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)