音乐未在发布的 apk 上播放。使用库 React-native-track 播放器

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

React naive 应用程序音乐未在发布的 apk 上播放。使用库 React-native-track 播放器。

在调试模式下,它可以在模拟器和真实设备中与本地主机正常工作。 der 有指定保存 mp3 文件的位置吗? 我正在尝试仅从捆绑包加载 我是 Windows 机器用户

请参考下面的 git,您也可以克隆它..

https://[电子邮件受保护]/deva11/trackplayertest.git

调试模式

DebugMode

释放模式 Release Mode

参考react-native-sound。我知道音乐文件应该保存在android/app/src/main/res/raw文件夹中,并且在react-native文件夹中捆绑资源时将与android本机合并文件夹。

如何搭配?

react-native audio-player react-native-track-player
2个回答
2
投票

此问题已在 6c57395 中修复。

在发布模式下,React Native 用于将所有资源复制到

drawable
目录中,react-native-track-player 用于查找那里的文件。

更新后,React Native 开始将非图像文件复制到

raw
目录,这破坏了该功能。


如果有人正在寻找答案,从设备加载文件的正确方法是在路径前面加上

file:///
,这是一个示例:

TrackPlayer.add({
    url: 'file:///storage/sdcard0/Music/song.mp3',
    // ...
});

在应用程序包中加载文件的正确方法是

require
/
import
它们:

TrackPlayer.add({
    url: require('./song.mp3'),
    // ...
});

如果这不起作用,请随时在 react-native-track-player 存储库中提出问题


0
投票

在 AndroidManifest.xml 中使用 android:usesCleartextTraffic="true" ,如果 url 以 http 开头或 url 不起作用,您的音频将正常工作

<manifest ...>
    <uses-permission android:name="android.permission.INTERNET" />
    <application
        ...
        android:usesCleartextTraffic="true"
        ...>
        
    </application>
</manifest>
© www.soinside.com 2019 - 2024. All rights reserved.