![](https://i-blog.csdnimg.cn/blog_migrate/09f8174ca3239978c3b61e0d3f27a756.jpeg)
React Native 应用程序开发人员构建各种应用程序,其中一些涉及实现音乐播放列表。如果您计划使用 React Native 构建一个音频播放器,您无疑需要一个播放列表实现,其中包括一个可管理的音乐曲目队列,该队列对用户可见或作为后台服务运行以按特定顺序播放音乐曲目。
音乐播放列表通常连接到播放所选音乐曲目的音乐播放器实现。如何修复Windows更新错误0x800b0003?从用户的角度来看,他们应该能够在播放列表中添加、删除、随机播放和重新排序音乐曲目。从开发人员的角度来看,dpi转换器是什么?推荐5款DPI转换器软件他们还应该能够以编程方式更新播放列表。
在 React Native 中创建和管理播放列表有几种可能的方法。我们可以在没有第三方库的情况下从头开始构建播放列表和播放器,但这很耗时。Windows11如何设置以保护隐私?我们也可以使用库来播放音乐曲目,并根据音乐播放器事件从头开始开发音乐队列。如何在Windows10上启用Gmail深色模式?我们可以使用功能齐全的音乐曲目播放器库进一步加快开发过程。
该库提供功能齐全的 API,用于在 React Native 如何修复 Windows 10 上找不到 Rockalldll.dll 的问题?中创建基于播放列表的音乐应用程序。如何修复Windows10滚动问题?windows10滚动条为什么自己往下跑在本教程中,如何在Windows10上查看YouTube历史评论记录?我将通过实现一个包含可见播放列表的音乐播放器来解释功能。如何修复Spotify指定用户没有有效配置文件?react-native-track-playerreact-native-track-player
跳跃前进:
突出特点react-native-track-player
react-native-track-player教程
突出特点react-native-track-player
在我们开始实用教程之前,让我们检查一下库的功能。
该库具有以下用于构建音乐应用程序的有用功能:
对开发者友好的播放器状态管理
该库由两个逻辑模块组成:
音乐播放器模块
播放列表实现
音乐播放器模块播放播放列表中的曲目。这个库提供了函数和 React Hooks 来控制音乐播放器的状态和订阅播放器事件。这些对开发人员友好的播放器状态管理功能使跟踪播放器 UI 集成变得容易。此外,基于事件的 React Hooks 降低了 React 状态管理要求的复杂性。
简单的播放列表管理
该库为开发人员提供了一个简单的 API 来管理音乐曲目队列。您可以通过不言自明的功能以编程方式添加、删除、重复和跳过音乐曲目。使用此库可以轻松创建您自己的基于播放列表的音乐播放器。
性能优先的原生库核心
对于播放列表管理和播放,这个库使用两个本地模块:
KotlinAudio:Android 的跟踪播放器实现
SwiftAudioEx:iOS 的跟踪播放器实现
JavaScript实现调用上述原生模块进行音乐播放和播放列表管理,因此该库致力于为您的音乐应用程序提供原生性能。播放列表存储在最佳本机数据结构中以获得更好的性能(即Kotlin 中的LinkedList)。react-native-track-player
该库提供对开发人员友好、一致的异步 API,因此您可以轻松地在 React Native 应用程序代码库中使用现代模式。async/await
平台支持和灵活的平台特定配置
该库适用于 Android、iOS 和 Windows 平台。它使用WinRT 媒体播放 API在 Windows 上播放音乐内容,因此您可以使用此包构建现代 Windows 应用程序!
轨道播放器库从不通过仅提供通用的跨平台 API 来限制开发人员——它为高级用例提供特定于平台的配置。例如,它可以让您更改 Android 上的通知面板播放器图标。
react-native-track-player教程
现在,我们将通过开发带有播放列表的音乐播放器应用程序来学习如何使用该库。在构建音乐播放器应用程序时,我将向您展示一些额外的示例代码片段,以进一步解释库 API 函数。react-native-track-player
将库与 React Native 项目集成
从安装包开始。首先,创建一个新的 React Native 项目来构建音乐播放器:react-native-track-player
npx react-native init MusicTrackPlayer
cd MusicTrackPlayer
接下来,运行新创建的应用程序以确保一切正常:
npx react-native run-android
# --- or ---
npx react-native run-ios
现在,安装库:
npm install react-native-track-player
# --- or ---
yarn add react-native-track-player
我正在 Android 上开发这个示例应用程序,因此运行上面的命令足以设置库。但是,在 iOS 上,您需要手动安装原生依赖项:
cd ios && pod install
再次构建应用程序并运行它以验证包安装状态。
注意:在 Android 上,如果Gradle 构建任务失败,请在您的. 有关详细信息,请参阅此参考资料。:app:checkDebugAarMetadatacompileSdkVersion = 33android/build.gradle
创建一个简单的轨道播放器
让我们开始使用音轨播放器库播放音乐。在为播放列表实现 UI 组件之前,我们将以编程方式创建播放列表以了解播放列表管理 API。
首先,在您的应用程序源目录中创建一个名为的新目录,并将这些音乐曲目(来自Pixabay Musicassets的三个 MP3 音频文件)下载到其中。
在初始化曲目播放器实例以播放您下载的 MP3 文件之前,我们需要定义几个服务来帮助我们配置、初始化和控制曲目播放器实例。创建一个名为的新文件并添加以下代码:trackPlayerServices.js
import TrackPlayer, {
AppKilledPlaybackBehavior,
Capability,
RepeatMode,
Event
} from 'react-native-track-player';
export async function setupPlayer() {
let isSetup = false;
try {
await TrackPlayer.getCurrentTrack();
isSetup = true;
}
catch {
await TrackPlayer.setupPlayer();
await TrackPlayer.updateOptions({
android: {
appKilledPlaybackBehavior:
AppKilledPlaybackBehavior.StopPlaybackAndRemoveNotification,
},
capabilities: [
Capability.Play,
Capability.Pause,
Capability.SkipToNext,
Capability.SkipToPrevious,
Capability.SeekTo,
],
compactCapabilities: [
Capability.Play,
Capability.Pause,
Capability.SkipToNext,
],
progressUpdateEventInterval: 2,
});
isSetup = true;
}
finally {
return isSetup;
}
}
export async function addTracks() {
await TrackPlayer.add([
{
id: '1',
url: require('./assets/fluidity-100-ig-edit-4558.mp3'),
title: 'Fluidity',
artist: 'tobylane',
duration: 60,
}
]);
await TrackPlayer.setRepeatMode(RepeatMode.Queue);
}
export async function playbackService() {
// TODO: Attach remote event handlers
}