android读取图片

[size=large] 一:读取res中的图片
//读取本地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();//提醒系统及时回收
}
}

二:放在assets中的图片(只读)
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]

你可能感兴趣的:(android)