我正在创建一个简单的音乐播放器项目,我想知道如何从 mp3 音频文件中获取信息,例如专辑封面。
我正在使用 expo-media-library 通过 Expo 的 SDK 49、TypeScript 和 Android 从设备获取文件。
有人可以帮助我吗?
我尝试使用一些外部库来实现此目的,结果是它无法编译。
要从 MP3 文件中提取信息(例如专辑封面),您可以使用
react-native-track-player
或 expo-music-info
库。这是一个简单的方法:
使用世博音乐信息:
安装库:
npm i expo-music-info-2
。
示例代码:
import MusicInfo from 'expo-music-info';
let metadata = await MusicInfo.getMusicInfoAsync('file:///storage/Music/far_from_love.mp3',
{
title: true,
artist: true,
album: true,
genre: true,
picture: true
});
使用react-native-track-player:
安装库:
npm i react-native-track-player
import { Event, useTrackPlayerEvents } from 'react-native-track-player'
const events = [Event.MetadataCommonReceived]
export const useLogTrackPlayerState = () => {
useTrackPlayerEvents(events, async (event) => {
if (event.type === Event.MetadataCommonReceived) {
console.log('Metadata', event.metadata)
}
})
}
请优先选择AudioMetadataReceivedEvent文档