react-native-track-player

react-native-track-player

React Native全功能音频模块 支持多平台音乐应用开发

react-native-track-player是专为音乐应用设计的全功能音频模块。它支持Android、iOS和Web平台,提供音频播放、外部媒体控制和后台模式等功能。该模块可播放本地和网络音频,包括流媒体。其特点包括轻量级、原生体验和高度可定制性,并支持React Hooks。这使其成为需要先进音频功能的React Native应用开发的理想选择。

React Native音频播放背景模式多平台支持媒体控制Github开源项目
<img src="https:/rntp.dev/img/optimized-logo.svg" width="300" />

下载量 npm Discord Commitizen友好


为音乐应用创建的全功能音频模块。提供音频播放、外部媒体控制、后台模式等功能!

<div align="left" valign="middle"> <a href="https://runblaze.dev"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://www.runblaze.dev/logo_dark.png"> <img align="right" src="https://yellow-cdn.veclightyear.com/0a4dffa0/49de520a-5e68-428b-8922-a72f00904ada.png" height="102px"/> </picture> </a> <br style="display: none;"/>

Blaze 通过提供超快的基于Apple Silicon的macOS Github Action运行器来赞助RNTP。在结账时使用折扣码RNTP50可获得首年50%的折扣。

</div>

概述

不知道从哪里开始?

  1. 试试入门指南
  2. 仔细阅读API文档
  3. 运行示例项目

商业用途

你是否在个人项目中使用RNTP? 太好了!如果可以的话请赞助我们,否则你可以通过报告发现的任何bug、发送项目截图以及在Github上给我们加星来支持我们 🌟

你是否在组织中使用RNTP和/或从中获利? 太棒了!我们依靠你的支持来保持RNTP在Apache-2.0许可下的开发和维护。你可以通过Github赞助商来实现这一点。

特性

  • 轻量级 - 根据你的需求优化以使用最少的资源
  • 感觉原生 - 由于所有内容都是一起构建的,它遵循与真实音乐应用相同的设计原则
  • 多平台 - 支持Android、iOS和Web
  • 媒体控制支持 - 提供从蓝牙设备、锁屏、通知、智能手表甚至汽车控制应用的事件
  • 本地或网络,文件或流 - 无论媒体属于何处,我们都能满足你的需求
  • 自适应比特率流支持 - 支持DASH、HLS或SmoothStreaming
  • 缓存支持 - 缓存媒体文件以便在没有互联网连接的情况下再次播放
  • 后台支持 - 即使应用在后台也能继续播放音频
  • 完全可定制 - 甚至通知图标都是可定制的!
  • 支持React Hooks 🎣 - 包含常见用例的React Hooks,这样你就不必自己编写

为什么要另一个音乐模块?

在尝试将react-native-soundreact-native-music-controlsreact-native-google-cast等模块组合在一起后,我注意到它们的结构和应该如何将它们绑定在一起可能会导致很多问题(主要在Android上)。这些问题可能会严重影响应用的稳定性和用户体验。

所有音频模块(如react-native-sound)在Android上不在单独的服务中播放,这应该用于前台的简单音频轨道(如音效、语音消息等)。

react-native-music-controls是为使用这些音频模块的应用而设计的,但它有一些问题:音频并不直接与控制绑定。它对于投射(如Chromecast)可能非常有用。

react-native-google-cast工作得很好,也支持自定义接收器,但它的播放器控制较少,更难集成,而且仍然使用Cast SDK v2。

示例设置

首先请查看入门指南,但这里有一个播放曲目的基本示例:

import TrackPlayer from 'react-native-track-player'; const start = async () => { // 设置播放器 await TrackPlayer.setupPlayer(); // 向队列添加一个曲目 await TrackPlayer.add({ id: 'trackId', url: require('track.mp3'), title: '曲目标题', artist: '曲目艺术家', artwork: require('track.png') }); // 开始播放 await TrackPlayer.play(); }; start();

核心团队 ✨

<table> <tr> <td align="center"><a href="https://github.com/dcvz"><img src="https://avatars.githubusercontent.com/u/2475932?v=4" width="100px;" alt=""/><br /><sub><b>David Chavez</b></sub></a><br /></td> </tr> </table>

外部核心贡献者 ✨

<table> <tr> <td align="center"><a href="https://github.com/jspizziri"><img src="https://avatars.githubusercontent.com/u/1452066?v=4" width="100px;" alt=""/><br /><sub><b>Jacob Spizziri</b></sub></a><br /></td> <td align="center"><a href="https://github.com/puckey"><img src="https://avatars.githubusercontent.com/u/271885?v=4" width="100px;" alt=""/><br /><sub><b>Jonathan Puckey</b></sub></a><br /></td> </tr> </table>

特别感谢 ✨

<table> <tr> <td align="center"><a href="https://github.com/Guichaguri"><img src="https://avatars.githubusercontent.com/u/1813032?v=4" width="100px;" alt=""/><br /><sub><b>Guilherme Chaguri</b></sub></a><br /></td> <td align="center"><a href="https://github.com/curiousdustin"><img src="https://avatars.githubusercontent.com/u/1706540?v=4" width="100px;" alt=""/><br /><sub><b>Dustin Bahr</b></sub></a><br /></td> </tr> </table>

贡献

我们希望这个软件包能够出色,而您也想要它出色。您可能已经知道可以直接提交问题,但这实际上并不是获得所需帮助的最佳方式(继续阅读以了解原因)。最好的方式是成为一名冠军深入代码

提交问题

实际上,仅仅提交问题并不总是足够的。这种方式只有在您的问题同时符合核心团队的兴趣和可用资源时才可能有效。以下是符合我们兴趣的事项,按优先级排序:

  1. 修复广泛、常见且关键的错误
  2. 修复不常见但必要的错误
  3. 引入具有广泛价值的新功能

请记住可用资源的限制。简而言之,您关心的事情需要得到很多其他人或我们的关注。

**但是!**还有一种arguably更好的方式,可以帮助您更快地获得所需的帮助:成为一名冠军

成为一名冠军

成为一名冠军可以让我们更容易帮助您。这正是我们都想要的!那么,如何成为一名冠军呢?赞助项目或_愿意编写一些代码_。

如果_您愿意_编写一些代码,我们愿意

  • 开启设计讨论,提供反馈,并批准可行的方案。
  • 在实施过程中提供指导。

简而言之,让我们知道您愿意做这项工作并寻求一些指导,您就会看到您关心的事情比其他人更快得到解决。我们会为那些愿意自助的人提供最好的帮助。

您说您没有经验?没关系!

您可能认为自己无法提供帮助,因为对原生iOS或Android甚至React代码一无所知。但我们愿意为您提供指导。

如果您愿意接受这个任务,我们可以帮助您理解原生代码和React Native的工作原理。

从_不知道_到_知道_的唯一方法就是学习。学习不是一件应该感到羞耻或害怕的事。

从何处开始?

我们的目标是让您尽可能容易地对库进行修改。有关如何处理库及其依赖项的所有文档都在本指南中

发布

本项目的标准发布命令是yarn version

yarn version [--major | --minor | --patch | --new-version <version>]

例如:

yarn version --new-version 1.2.17
yarn version --patch // 1.2.17 -> 1.2.18
yarn version --minor // 1.2.18 -> 1.3.0
yarn version --major // 2.0.0

此命令将:

  1. 生成/更新更新日志
  2. 升级包版本
  3. 标记并推送提交
  4. 构建并发布包

社区

您可以在React Native Track Player中找到我们:

  • #introduce-yourself - 来欢迎这个群组的新成员!
  • #troubleshooting-forum - 请社区成员帮助排查您应用程序的问题并提供建议。
  • #show-and-tell - 向社区展示您使用这个项目制作的应用程序!
  • #news-and-releases - 了解项目的最新发布和开发动态。

编辑推荐精选

蛙蛙写作

蛙蛙写作

AI小说写作助手,一站式润色、改写、扩写

蛙蛙写作—国内先进的AI写作平台,涵盖小说、学术、社交媒体等多场景。提供续写、改写、润色等功能,助力创作者高效优化写作流程。界面简洁,功能全面,适合各类写作者提升内容品质和工作效率。

AI辅助写作AI工具蛙蛙写作AI写作工具学术助手办公助手营销助手AI助手
Trae

Trae

字节跳动发布的AI编程神器IDE

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

AI工具TraeAI IDE协作生产力转型热门
问小白

问小白

全能AI智能助手,随时解答生活与工作的多样问题

问小白,由元石科技研发的AI智能助手,快速准确地解答各种生活和工作问题,包括但不限于搜索、规划和社交互动,帮助用户在日常生活中提高效率,轻松管理个人事务。

热门AI助手AI对话AI工具聊天机器人
Transly

Transly

实时语音翻译/同声传译工具

Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。

讯飞智文

讯飞智文

一键生成PPT和Word,让学习生活更轻松

讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。

AI办公办公工具AI工具讯飞智文AI在线生成PPTAI撰写助手多语种文档生成AI自动配图热门
讯飞星火

讯飞星火

深度推理能力全新升级,全面对标OpenAI o1

科大讯飞的星火大模型,支持语言理解、知识问答和文本创作等多功能,适用于多种文件和业务场景,提升办公和日常生活的效率。讯飞星火是一个提供丰富智能服务的平台,涵盖科技资讯、图像创作、写作辅助、编程解答、科研文献解读等功能,能为不同需求的用户提供便捷高效的帮助,助力用户轻松获取信息、解决问题,满足多样化使用场景。

热门AI开发模型训练AI工具讯飞星火大模型智能问答内容创作多语种支持智慧生活
Spark-TTS

Spark-TTS

一种基于大语言模型的高效单流解耦语音令牌文本到语音合成模型

Spark-TTS 是一个基于 PyTorch 的开源文本到语音合成项目,由多个知名机构联合参与。该项目提供了高效的 LLM(大语言模型)驱动的语音合成方案,支持语音克隆和语音创建功能,可通过命令行界面(CLI)和 Web UI 两种方式使用。用户可以根据需求调整语音的性别、音高、速度等参数,生成高质量的语音。该项目适用于多种场景,如有声读物制作、智能语音助手开发等。

咔片PPT

咔片PPT

AI助力,做PPT更简单!

咔片是一款轻量化在线演示设计工具,借助 AI 技术,实现从内容生成到智能设计的一站式 PPT 制作服务。支持多种文档格式导入生成 PPT,提供海量模板、智能美化、素材替换等功能,适用于销售、教师、学生等各类人群,能高效制作出高品质 PPT,满足不同场景演示需求。

讯飞绘文

讯飞绘文

选题、配图、成文,一站式创作,让内容运营更高效

讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。

热门AI辅助写作AI工具讯飞绘文内容运营AI创作个性化文章多平台分发AI助手
材料星

材料星

专业的AI公文写作平台,公文写作神器

AI 材料星,专业的 AI 公文写作辅助平台,为体制内工作人员提供高效的公文写作解决方案。拥有海量公文文库、9 大核心 AI 功能,支持 30 + 文稿类型生成,助力快速完成领导讲话、工作总结、述职报告等材料,提升办公效率,是体制打工人的得力写作神器。

下拉加载更多