最近在学习electron,尝试开发了一个音乐播放器。在播放器本地音乐的时候遇到了一些问题。
在获取到本地的音频文件路径之后,audio不会向网络路径一样直接去缓存播放。废话不多说,直接上代码。
获取本地视频文件的时长 需要用到一个插件 music-metadata,点击进入。
import fs from 'fs';
import path from 'path';
import {remote} from 'electron';
import * as mm from 'music-metadata';
//...
readLocalFiles() {
//获取文件的一些关键信息
const me = this;
const url = remote.app.getPath('music');//文件夹路径;
fs.readdir(url, function (err, files) {
files.forEach(item => {
if (path.extname(item).toLowerCase() !== '.mp3') return;//遍历每一个文件,遇到非mp3文件直接返回(当然音频文件不止mp3,有需要可以多做判断)
mm.parseFile(path.join(url, item), {//利用music-metadata来获取文件的时长等信息 npm包地址 https://www.npmjs.com/package/music-metadata