我正在制作一个使用nativescript-audio的简单应用,我想在该应用中播放一些mp3样本。问题是,当我单击Sidekick中的“在设备上运行”时,它不会传输我包含在应用文件夹中的任何mp3文件(因此无法播放)。奇怪的是,如果我只是更改文件的扩展名(例如更改为.jpg),则传输工作正常(而且我什至可以像播放mp3一样播放该文件)。
因此,仅举例说明问题,如果我使用此代码,它将无法正常工作:
const audio = require('nativescript-audio');
const player = new audio.TNSPlayer();
const playerOptions = {
audioFile: '~/audio/myfile.mp3',
loop: false
};
但是,如果我只是将“ myfile.mp3”重命名为“ myfile.jpg”,请更改如下代码:
...
audioFile: '~/audio/myfile.jpg',
...
然后重建应用程序,它可以正常工作并播放最初存储在myfile.mp3中的示例,现在又存储在myfile.jpg中。
使用文件系统,我还可以检测到存在.jpg文件,但不存在.mp3。
我想问的是Sidekick是否仅查找某些文件扩展名,而在构建过程中忽略其他扩展名,以及是否可以更改“监视的文件扩展名”设置。
答案 0 :(得分:1)
我猜您正在使用webpack运行,默认的webpack配置将仅复制字体和图像(JPEG / PNG等)以及源代码。如果您还有其他文件要复制,请在webpack.config.js
内修改复制插件的配置,
new CopyWebpackPlugin([
{ from: "fonts/**" },
{ from: "songs/**" },
{ from: "**/*.jpg" },
{ from: "**/*.png" },
{ from: "**/*.png" },
], { ignore: [`${relative(appPath, appResourcesFullPath)}/**`] }),