electron和vue开发的音乐播放器遇到的一些问题(本地音频文件的播放,文件信息的读取)

本文介绍在Electron中开发音乐播放器时如何处理本地音频文件,包括使用music-metadata插件读取音频文件信息,如时长,并通过fs模块读取文件,将其转化为Blob以供audio标签播放。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        最近在学习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
                         
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值