Android 获取资源数据/文件
来源:互联网 发布:美团外卖消费数据分析 编辑:程序博客网 时间:2024/05/17 17:16
从res/raw或assets文件夹中获取资源文件:
*res/raw和assets的相同点:
1.两者目录下的文件在打包后会原封不动的保存在apk包中,不会被编译成二进制。
*res/raw和assets的不同点:
1.res/raw中的文件会被映射到R.java文件中,访问的时候直接使用资源ID即R.id.filename;assets文件夹下的文件不会被映射到R.java中,访问的时候需要AssetManager类。
2.res/raw不可以有目录结构,而assets则可以有目录结构,也就是assets目录下可以再建立文件夹
1、将视频放置于raw文件夹下的情况:
String uri ="android.resource://" + getPackageName() + "/" +R.raw.changshavideo; mediaPlayer.setDataSource(this,Uri.parse(uri));
String uri ="android.resource://" + getPackageName() + "/" +R.raw.xuanchuan;
videoView.setVideoURI(Uri.parse(uri));
2、raw文件夹下放置文本信息:
InputStream in=getResources().openRawResource(R.raw.test);
3、assets文件夹下放置文本信息:
InputStreaminputStream = this.getAssets().open(mCityFolder+"/config.xml");
4、res/raw文件夹下放置音频文件
MediaPlayer mediaPlayer =MediaPlayer.create(MediaPlayerDemoActivity.this, R.raw.a1);
5、assets文件夹放置音频文件:
播放应用的原始资源文件(assets)1) 通过Context.getAssets()方法获得AssetManager对象
2) 通过AssetManager对象的openFd(String name)方法打开指定的原生资源文件夹,返回一个AssetFileDescriptor对象
3) 通过AssetFileDescriptor的getFileDescriptor()得到一个FileDescriptor对象
4) 通过public void setDataSource (FileDescriptor fd, long offset, long length)来创建MediaPlayer对象
5) 调用MediaPlayer.prepare()方法准备音频
6) 调用MediaPlayer的start()、pause()、stop()等方法控制
AssetFileDescriptor fileDescriptor = assetManager.openFd("a2.mp3");
mediaPlayer = new MediaPlayer();
mediaPlayer.setDataSource(fileDescriptor.getFileDescriptor(),
fileDescriptor.getStartOffset(),
fileDescriptor.getLength());
mediaPlayer.prepare();
mediaPlayer.start();
6、播放外部存储上的音频资源文件(sdcard)
1)创建MediaPlayer对象,通过MediaPlayer对象的setDataSource(Stringpath)方法装载预定的音频文件
2)调用MediaPlayer对象的prepare()方法准备音频
3)调用MediaPlayer的start()、pause()、stop()等方法控制
mediaPlayer = newMediaPlayer();
mediaPlayer.setDataSource("/mnt/sdcard/a3.mp3");
mediaPlayer.prepare();
mediaPlayer.start();
7、播放网络上的音频文件
1)根据网络上的地址创建Uri对象
2)通过public void setDataSource (Context context, Uri uri)设置音频来源装载音频文件
3)调用MediaPlayer对象的prepare()方法准备音频
4)调用MediaPlayer的start()、pause()、stop()等方法控制
mediaPlayer = new MediaPlayer();
// 通过Uri解析一个网络地址
Uri uri = Uri.parse("http://zhangmenshiting2.baidu.com/data2/music/9138619/9138619.mp3?xcode=dd0d0d0df7218eb9a79c7fd72cefb648&mid=0.18926789458694");
mediaPlayer.setDataSource(MediaPlayerDemoActivity.this, uri);
mediaPlayer.prepare();
mediaPlayer.start();
- Android 获取资源数据/文件
- <Android>关于获取资源文件R中的数据
- Android Mediaplayer 三种从资源文件中获取数据播放
- Android 多媒体 MediaPlayer之从三种资源文件中获取数据播放
- android通过拼写字符串获取资源文件
- Android 从xml 文件中获取资源
- Android 资源名获取R文件id
- 学习Android利用反射获取资源文件
- 获取资源文件, Android res getIdentifier
- Android 获取资源目录下的文件
- 数据共享之Android资源文件
- android 读取资源文件的数据
- Android反编译获取资源文件-android学习之旅(69)
- 获取文件资源
- 获取资源文件
- 获取资源文件
- java获取资源文件
- 获取视频资源文件
- k近邻法
- ExecuteScalar 返回值问题
- 手腕 疼 的原因
- 大数相乘
- 【基于node.js+express的web开发备忘】--nodejs v0.11.13 + express v4.2.0+mongodb v2.0.6
- Android 获取资源数据/文件
- 迭代器模式---学习笔记
- 八皇后问题
- Android TextView Button setPadding不起作用
- 拼链接 Oracle 截取部分字符
- Junit测试配置和使用
- ubuntu 配置NFS tftp
- jdbc查询数据库中数据
- Perl入门一,通过shell执行perl语句