Cordova/PhoneGap 获取资源文件路径(在 Res 文件夹之外)
Cordova/PhoneGap Get File Path To Resource (Outside of Res Folder)
我们有一个 Cordova/PhoneGap 项目,我们正在尝试播放音频文件。
我们已经尝试了几十次获取绝对文件路径的尝试,但都失败了。
例如
File file = new File("android.resource://www/audio/0.m4a");
//also tried "www/audio/0.m4a"
//also tried "file:///assets/www/audio/0.m4a"
if(file.exists())
{
Log.d("1","FILE EXISTS");
}else
{
Log.d("2","FILE DOES NOT EXIST");
}
文件存在且在文件夹中
如果我将文件移动到 /res/raw 文件夹并使用 R.res.0
播放它,就会找到(并播放)该文件。
你知道我如何获得此音频文件的绝对路径以便从中创建文件对象吗?
您似乎无法从资产创建文件对象。
几个问题:
当你有 res->raw 文件夹时,为什么要将文件保存在 assets 文件夹中?
如果您想从 Assets 播放,您需要这样做
final MediaPlayer mediaPlayer=new MediaPlayer();
final AssetFileDescriptor assetFileDescritor=pContext.getAssets().openFd(MusicFactory.sAssetBasePath
+ pAssetPath); mediaPlayer.setDataSource(assetFileDescritor.getFileDescriptor(),assetFileDescritor.getStartOffset(),assetFileDescritor.getLength());
mediaPlayer.prepare();
final Music music=new Music(pMusicManager,mediaPlayer);
pMusicManager.add(music);
return music;
我们有一个 Cordova/PhoneGap 项目,我们正在尝试播放音频文件。
我们已经尝试了几十次获取绝对文件路径的尝试,但都失败了。
例如
File file = new File("android.resource://www/audio/0.m4a");
//also tried "www/audio/0.m4a"
//also tried "file:///assets/www/audio/0.m4a"
if(file.exists())
{
Log.d("1","FILE EXISTS");
}else
{
Log.d("2","FILE DOES NOT EXIST");
}
文件存在且在文件夹中
如果我将文件移动到 /res/raw 文件夹并使用 R.res.0
播放它,就会找到(并播放)该文件。
你知道我如何获得此音频文件的绝对路径以便从中创建文件对象吗?
您似乎无法从资产创建文件对象。
几个问题:
当你有 res->raw 文件夹时,为什么要将文件保存在 assets 文件夹中?
如果您想从 Assets 播放,您需要这样做
final MediaPlayer mediaPlayer=new MediaPlayer();
final AssetFileDescriptor assetFileDescritor=pContext.getAssets().openFd(MusicFactory.sAssetBasePath
+ pAssetPath); mediaPlayer.setDataSource(assetFileDescritor.getFileDescriptor(),assetFileDescritor.getStartOffset(),assetFileDescritor.getLength());
mediaPlayer.prepare();
final Music music=new Music(pMusicManager,mediaPlayer);
pMusicManager.add(music);
return music;