问题标签 [react-native-track-player]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1492 浏览

react-native - React-native-track-player 无法播放由 rn-fetch-blob 获取的本地文件

在使用 rn-fetch-blob 获取 .mp3 文件后,我输入了 console.log(filePathIos) 并得到了这样的路径:“/var/mobile/Containers/Data/Application/80D7496B-862A-44D6-9D3A-F0EF31B565CF/文件/xxx.mp3"

我的播放曲目代码:

问题是:本地文件下载成功,我可以在本地打开它。但是上面的代码不起作用。当我尝试按下切换按钮时,xcode 显示一些日志为:“开始/恢复播放”但歌曲仍未播放。

如果我尝试在上面的代码中更改一点点(将 url 更改为在线音乐 url),如下所示:

然后该应用程序就像一个魅力,它可以播放歌曲。

我使用这些包来构建应用程序,由于某些特定原因,我无法升级/降级这些包:

  • 平台:为IOS反应原生
  • react-native-track-player@1.1.3
  • 反应原生@0.59.2
  • rn-fetch-blob@0.10.15

我没有运气尝试的事情:

  • 将 url 从 更改url: filePathIosurl: 'file://' + encodeURIComponent(filePathIos)

谢谢你的任何想法!

0 投票
0 回答
765 浏览

javascript - react-native-track-player Android 远程控制选项

react-native-track-player在 Android 上运行react-native 应用程序时,通知中心(MIUI 12 上的小米设备中的通知中心和控制中心)变得迟钝。在我看来,玩家试图在通知中心打开某些东西但失败并一遍又一遍地重试。我在设置中检查了我的应用信息,我看到了以下内容:

图片

我认为管理 Android 中的远程控制选项存在问题。我不知道项目的 Android 端发生了什么,因为我是一名 react-native 开发人员,但它似乎试图将音乐的元信息和控制选项作为通知发送,这会导致严重的性能问题。

我在各种安卓设备上测试时遇到了这个问题:

  • 运行 Android 10 的小米 a2 lite
  • 运行Android 10的小米红米note8 Pro
  • 运行 Android 10 的三星 A31

这就是我初始化播放器的方式:

我正在使用react-navigationv5,我的播放器在项目的根目录中实例化:

提示我也在GitHub 上报告了这个问题:

我该如何解决这个问题?

0 投票
1 回答
835 浏览

android - React Native Track Player - 寻找精确位置不起作用

我正在开发一个音乐流应用程序,它使用 React Native Track Player 在应用程序和后台处理音乐。

我正在通过 Socket.IO 从服务器获取音乐,并且按预期获得了所有歌曲。

在此应用程序中,管理员可以选择开始流式传输,然后连接到该应用程序的所有用户都将收到歌曲并在他们的设备上开始播放。如果用户在歌曲已经开始时连接,用户将收到歌曲和当前位置。所以,如果一首歌曲已经开始,就会寻找到当前位置。

问题是并不总是寻找工作。有时它从 0 开始,有时在一个明显随机的位置。只有几次位置很好。

我以为歌曲没有完全缓冲,但是如果我尝试输出当前位置和seek前后的缓冲位置,那就对了。

我该如何解决这个问题?我应该等待所有歌曲都被缓冲,然后寻找?

如果这个模块不能做到这一点,还有其他有效的模块吗?

我现在只在 Android 上测试了这个,idk 如果在 iOS 上有效。

这里的代码:

这是流媒体功能,从服务器收听歌曲...

这是设置功能,设置播放器...

这两个函数都在 useEffect(callback, []) 中,所以只会在启动时调用

谢谢您的帮助 :)

0 投票
1 回答
619 浏览

react-native - 无法跳到下一个曲目 - React-Native-Track-Player

我目前正在为我正在开发的一个应用程序创建一个播客播放器功能。但是,我遇到了这个错误,即将数组的 currentIndex 更新为下一个。这是我创建的用于测试播客播放器的数组

然后,我将 currentIndex 传递到下一个屏幕,以便它呈现正确的播客以及剧集和播客对象。

这就是我将它用于 TrackPlayer 的方式

当我跳过曲目时,它会在控制台中记录下一个曲目,但它不会在实际屏幕上更新,所以我不确定,我试图放入currentIndex一个新状态的内部并通过它更新它,所以单击下一个按钮后,屏幕将重新呈现。但我没有运气。

这是我单击下一个曲目图标时调用的函数

任何帮助将非常感激!

0 投票
0 回答
153 浏览

android - 如何使用 React Native 从我的 SD 卡上的特定文件夹中获取所有音频文件的元数据?

我正在使用 React Native 开发音频播放应用程序,但在使用文件/文件夹选择器获取文件时遇到问题。基本上,我将音频文件保存在设备上的某个文件夹中(而不是项目目录中)。我想使用https://www.npmjs.com/package/react-native-document-picker或使用 react-native-directory-picker (或类似的东西)的文件夹来获取文件,并获取包括 uri 在内的元数据, react-native-track-player,但文件选择器获取的 url 似乎不适用于轨道播放器。有没有更好的方法来解决这个问题?

这是我到目前为止尝试过的实现。请注意,我将文件保存在本地设备上的 Downloads 文件夹下,并且我尝试过传递 str、str2、str3 和 str4。每次,我都会从 reac-native-sound 记录错误:'failed to load the sound':

0 投票
0 回答
54 浏览

android - 如何修复“尝试导入错误”?/ 我应该为 Hybrid React-Native 应用程序使用什么音频播放器?

我尝试使用react-native-track-player它,它在 android 上运行良好,但在网络上,我收到以下错误:

我目前不知道如何解决这个问题,但如果有人知道我该如何解决它,或者如果有一个很好的替代音频播放器可以用于网络安卓,我将不胜感激,而且非常轻巧

软件包版本:

我正在关注的教程:https ://medium.com/finimize-engineering/building-a-global-audio-player-in-react-native-dd065fc64b02

0 投票
1 回答
158 浏览

node.js - 想要在 iOS 中从 react-native-track-payer 播放远程 url

我正在使用react-native-track-player来创建音乐播放器。我正在使用 Youtube API 进行音频流式传输。它给出的 URL 像

但是 react-native-track-player 仅在 iOS 上不播放来自该 URL 的音频,它在 Android 上完美运行

在 iOS 中,react-native-track-player 最后需要带有 .mp3 扩展名的 URL。我可以将 .mp3 添加到此 URL,或者我应该如何在 iOS 上从该链接播放音频。

我的代码是

提前致谢

0 投票
0 回答
631 浏览

javascript - 使用 react-native-track-player 正确切换播放状态以进行实时音频流 React Native 应用程序(shoutcast)

我似乎无法让 react-native-track-player 在我的广播流应用程序(shoutcast)中完全正常工作。我用来切换播放的 TouchableOpacity 似乎只在第二次按下后才起作用。即使那样,切换似乎也不能可靠地工作。我想我的逻辑设置不正确..

我也意识到我应该通过 react-native-track-player 更新 MetaData,而不是我编写的自定义钩子。

如果有人能指出我的错误,我将不胜感激!提前致谢

使用:

主屏幕逻辑:

主屏前端:

0 投票
1 回答
1278 浏览

javascript - 使用 react-native-track-player 从 Napster API 流式传输歌曲

我设法按照教程使用 react-native-track-player 构建了一个简单的音乐播放器,作为我在 react native 学习曲线的一部分。现在,我不只是从我的歌曲数组中提供的 url 曲目播放/流式播放歌曲,我想从 API 流式传输歌曲(尽管它可以是任何 API - 但我已经注册了 Napster API),我觉得不受限制只有几首歌。但是,我无法将如何实现或调用 Napster API 来获取歌曲放在一起。请任何帮助/指导,我将不胜感激。

下面是我的代码:

我有 data.js,我的歌曲数组:

这是我的 playerScreen.js :

0 投票
0 回答
24 浏览

javascript - 可能的未处理承诺拒绝:将不同的歌曲数据传递到 react-native-track-player 中的播放器屏幕

我创建了流派(多首歌曲数据并将歌曲数据传递给我项目中的同一个 PlayerScreen.js,但我开始出现 TypeErrors 和警告:

可能的未处理承诺拒绝(id:3):TypeError:无法读取 null 的属性“scrollToOffset”类型错误:无法读取 null 的属性“scrollToOffset”

例如,我有流行、乡村、摇滚、嘻哈等流派,现在我在所有流派中都有相同的歌曲数组,我用相同的代码创建了不同的播放器屏幕。但我相信没有做正确的事。请问我怎样才能拥有不同的歌曲数据(流派)并使用一个播放器屏幕播放歌曲?

这是我的代码。hiphopData.js:

hiphopPlayerScreen.js:

我对我创建的所有类型都这样做了,但我觉得这不是正确的方法。请帮助我将所有流派数据传递到一个播放器屏幕。