electron + ts + vue读取mp3 歌名、歌手
时间: 2023-06-26 21:03:13 浏览: 251
Electron+Vite+Vue3 模版
你可以使用 Node.js 的 `fs` 模块读取 MP3 文件的元数据。其中,`ID3` 是 MP3 文件最常用的元数据格式,它包含了歌曲名、歌手等信息。
对于 Electron + TypeScript + Vue,你可以按照以下步骤实现:
1. 安装 `music-metadata` 库,它可以读取 MP3 文件的元数据:
```
npm install music-metadata
```
2. 在 Vue 组件中引入 `music-metadata` 库:
```typescript
import * as mm from 'music-metadata';
```
3. 在 Vue 组件的方法中读取 MP3 文件的元数据:
```typescript
async readMetadata(filePath: string) {
try {
const metadata = await mm.parseFile(filePath);
const { common } = metadata;
const title = common.title || '';
const artist = common.artist || '';
console.log(`Title: ${title}, Artist: ${artist}`);
} catch (error) {
console.error(error);
}
}
```
在上面的代码中,`filePath` 是 MP3 文件的路径,`mm.parseFile()` 方法会返回一个包含元数据的对象。你可以从 `common` 属性中获取歌曲名、歌手等信息。
4. 在 Vue 组件中选择 MP3 文件并调用 `readMetadata()` 方法:
```html
<template>
<div>
<input type="file" @change="onFileChange">
</div>
</template>
<script lang="ts">
import { Component, Vue } from 'vue-property-decorator';
@Component
export default class MyComponent extends Vue {
async onFileChange(event: any) {
const file = event.target.files[0];
const filePath = file.path;
await this.readMetadata(filePath);
}
async readMetadata(filePath: string) {
// ...
}
}
</script>
```
在上面的代码中,`<input type="file">` 元素用于选择 MP3 文件。当用户选择文件后,`onFileChange()` 方法会被调用,并将文件路径传递给 `readMetadata()` 方法。
这样,你就可以在 Electron + TypeScript + Vue 中读取 MP3 文件的歌曲名、歌手等信息了。
阅读全文