[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]