React naive 应用程序音乐未在发布的 apk 上播放。使用库 React-native-track 播放器。
在调试模式下,它可以在模拟器和真实设备中与本地主机正常工作。 der 有指定保存 mp3 文件的位置吗? 我正在尝试仅从捆绑包加载 我是 Windows 机器用户
请参考下面的 git,您也可以克隆它..
https://[电子邮件受保护]/deva11/trackplayertest.git
调试模式:
参考react-native-sound。我知道音乐文件应该保存在android/app/src/main/res/raw文件夹中,并且在react-native文件夹中捆绑资源时将与android本机合并文件夹。
如何搭配?
此问题已在 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 存储库中提出问题
在 AndroidManifest.xml 中使用 android:usesCleartextTraffic="true" ,如果 url 以 http 开头或 url 不起作用,您的音频将正常工作
<manifest ...>
<uses-permission android:name="android.permission.INTERNET" />
<application
...
android:usesCleartextTraffic="true"
...>
</application>
</manifest>