android读取图片

[size=large][color=red]一:读取res中的图片[/color]
//读取本地res中的图片
public static Bitmap readBitmap(int resid){
BitmapFactory.Options opt = new BitmapFactory.Options();
opt.inPreferredConfig = Bitmap.Config.RGB_565;
opt.inPurgeable = true;
opt.inInputShareable = true;
//获取资源图片
InputStream input = getResources().openRawResource(resid);
return BitmapFactory.decodeStream(input,null,opt);
}
//确定不再需要该bitmap对象的时候可以将其回收掉
public static void recycle(Bitmap bitmap){
if(bitmap!=null && !bitmap.isRecycle()){
bitmap.recycle();
System.gc();//提醒系统及时回收
}
}

[color=red]二:放在assets中的图片(只读)[/color]
InputStream is = context.getResources().getAssets().open("icon.png");
Bitmap bitmap = BitmapFactory.decodeStream(is);
[color=red]三:读取sd卡中的图片[/color]
Bitmap bitmap = BitmapFactory.decodeFile("/sdcard/icon.png");
[color=red]四:读取网络图片[/color]
public static Bitmap loadImageFromUrl(String urlStr){
URL url;
InputStream i = null;
try{
m = new URL(urlStr);
i = m.getContent();
}catch(Exception e){
e.printStaceTrace();
}
return BitmapFactory.decodeStream(i);
}

五:音频播放
1.raw文件里的播放

MediaPlayer mMediaPlayer = MediaPlayer.create(this,R.raw.level02_bg_music);
private void playMusic()
{
new Thread(new Runnable() {

@Override
public void run() {
if(mMediaPlayer != null) {
mMediaPlayer.start();
mMediaPlayer.setLooping(true);
}
}
}).start();
}

2.播放本地或者网络文件
MediaPlayer mMediaPlayer = new MediaPlayer();
private void playMusic(String path)
{
try
{
if(mMediaPlayer!= null){ //一定要清空播放器资源
mMediaPlayer.stop();
mMediaPlayer.release();
mMediaPlayer = null ;
}
/* 重置MediaPlayer */
mMediaPlayer.reset();
/* 设置要播放的文件的路径 */
mMediaPlayer.setDataSource(path);
/* 准备播放 */
mMediaPlayer.prepare();
/* 开始播放 */
mMediaPlayer.start();
mMediaPlayer.setLooping(true);
mMediaPlayer.setOnCompletionListener(new OnCompletionListener()
{
public void onCompletion(MediaPlayer arg0)
{
//播放完成一首之后进行下一首
// nextMusic();
}
});
}catch (Exception e){
e.printStackTrace();
}
}

MediaPlayer:

此类适合播放较大文件,此类文件应该存储在SD卡上,而不是在资源文件里,还有此类每次只能播放一个音频文件。

此类用法如下:

1、从资源文件中播放

  MediaPlayer   player  =   new MediaPlayer.create(this,R.raw.test);

player.stare();


2、从文件系统播放

MediaPlayer   player  =   new MediaPlayer();

String path = "/sdcard/test.mp3";

player.setDataSource(path);

player.prepare();

player.start();


3、从网络播放

(1)通过URI的方式:

String path="http://**************.mp3"; //这里给一个歌曲的网络地址就行了

Uri uri = Uri.parse(path);

MediaPlayer player = new MediaPlayer.create(this,uri);

player.start();


(2)通过设置数据源的方式:

 MediaPlayer   player  =   new MediaPlayer.create();

String path="http://**************.mp3"; //这里给一个歌曲的网络地址就行了

player.setDataSource(path);

player.prepare();

player.start();


[/size]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值