如何使用 React Native Expo 从音频文件中获取元数据

问题描述 投票:0回答:1

我正在创建一个简单的音乐播放器项目,我想知道如何从 mp3 音频文件中获取信息,例如专辑封面。

我正在使用 expo-media-library 通过 Expo 的 SDK 49、TypeScript 和 Android 从设备获取文件。

有人可以帮助我吗?

我尝试使用一些外部库来实现此目的,结果是它无法编译。

javascript android typescript react-native expo
1个回答
0
投票

要从 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文档

© www.soinside.com 2019 - 2024. All rights reserved.