GitXplorerGitXplorer
f

music-player

public
1 stars
0 forks
13 issues

Commits

List of commits on branch master.
Unverified
e9eaa78de56a81c08df22769a07858913d9d1838

feat:完成首页缓存音乐的列表渲染

ffireairforce committed 5 years ago
Unverified
1b3556e0372bf0c24c318207dfc25d9b4ef9f1e1

feat:为导入的歌曲添加了electron-stroe存储

ffireairforce committed 5 years ago
Unverified
b4ff57421549fda58033dcca78e598989cbc90fe

feat:封装了一个electron-store类

ffireairforce committed 5 years ago
Unverified
3a13cf032ecef43b511ec703321cb58374f0fead

fix:修复列表展示功能

ffireairforce committed 5 years ago
Unverified
06f488a25fffca3236b9f0af3b3727dd8905793b

feat:新增音乐的列表显示

ffireairforce committed 5 years ago
Unverified
1d259ff53f8d42bd4b8a0afc6ea37804d3b8c8c7

feat:新增文件选择的功能(且只支持mp3文件的选择)

ffireairforce committed 5 years ago

README

The README file for this repository.

Usage

首先修改了一波启动脚本:使用nodemon来完成对文件的watch.

"scripts": {
   "start": "nodemon --watch main.js --exec 'electron .'"
},

只要main.js一旦发生变化,就会去执行electron .这个脚本命令。main.js使我们的主进程。

数据持久化的方式

  • 使用数据库软件
  • 使用html5提供的浏览器对象
  • 使用本地文件

这里使用electron-store来对数据进行一个存储

可以使用

// 这里能够打印出electron-store存储数据的文件目录位置
// console.log(app.getPath('userData'));

音乐播放

使用html5Audio标签来完成音乐的播放:

<audio
  controls 
  src="/media/examples/xxx.mp3"
>
</audio>   

对应的js对象:

const horn = new Audio('car_horn.wav');
horn.play();
horn.pause();
horn.volume = 0.75;
horn.addEventListener('loadeddata', () => {
   let duration = horn.duration;
})

使用音乐的dom节点来存储data信息

  • HTML 中使用自定义的data属性:data-*来存储
  • JS中使用HTMLElementdataset属性来获取(具体可以参考音乐播放那里)

事件的绑定上面我们使用事件的冒泡机制来完成事件的代理功能。

遇见复杂的问题可以使用流程图来解决