Android assets 找不到文件异常 FileNotFoundException
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android assets 找不到文件异常 FileNotFoundException相关的知识,希望对你有一定的参考价值。
参考技术A asset FileNotFoundException使用assets加载文件时出现的了文件未找到:原因是乱加路径;
使用Glide来加载asetts资源作为背景图片时时,如下
后来使用了觉得这种方式加载出现了肉眼可见的延迟,
更换了其他方式,使用了
AssetManager ->InputStream->BitmapFactory->Bitmap->BitmapDrawable->View.setBackgroud(drawable)
来实现,但是中间在这里出现了错误
出现了找不到文件的情况,问题在于使用了复制粘贴,在AssetManager 中不需要添加PATH_HEAD 这个东东,直接使用相对路径就可以了;
还是要减少复制粘贴来避免一些不好排查的问题
读取android的assets下的音频出错,找不到文件
.首先是assets目录的位置问题,在Eclispe中,这个目录的位置在res/下面,但到了Android Studio中,这个assets目录必须放在跟java和res同级目录下,下面是截图
public void music()
AudioManager mAudioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
//int mVolume = mAudioManager.getStreamVolume(AudioManager.STREAM_MUSIC); // 获取当前音乐音量
int maxVolume = mAudioManager
.getStreamMaxVolume(AudioManager.STREAM_MUSIC);// 获取最大声音
mAudioManager.setStreamVolume(AudioManager.STREAM_MUSIC, maxVolume, 0); // 设置为最大声音,可通过SeekBar更改音量大小
AssetFileDescriptor fileDescriptor =null;
try
AssetManager am =this.getAssets();
fileDescriptor = am.openFd("ls.mp3");
MediaPlayer myMediaPlayer = new MediaPlayer();
myMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
myMediaPlayer.setDataSource(fileDescriptor.getFileDescriptor(),
fileDescriptor.getStartOffset(),
fileDescriptor.getLength());
myMediaPlayer.prepare();
myMediaPlayer.start();
catch (IOException e)
e.printStackTrace();
这样就不报读取不到文件的错了
以上是关于Android assets 找不到文件异常 FileNotFoundException的主要内容,如果未能解决你的问题,请参考以下文章
使用 BitmapFactory.decodeFile 找不到 Android Studio 文件异常
使用 ADB 时 Android Studio “找不到文件”,桌面版有效