7月25日:

下面是从网上看到的,能解析音频文件的专辑信息的,比如专辑图片。

public class Test extends Activity {    /** Called when the activity is first created. */    private ListView list;    private static final String sExternalMediaUri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI.toString();    private static final Uri sArtworkUri = Uri.parse("content://media/external/audio/albumart");    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);        Bitmap bm = null;        long songid = -1,albumid = -1;        Cursor cur = getContentResolver().query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, null,null, null, null);        if(cur.moveToNext()){            songid = cur.getLong(0);            albumid = cur.getLong(12);        }        if (albumid < 0 && songid < 0) {            throw new IllegalArgumentException("Must specify an album or a song id");        }        try {            if (albumid < 0) {                Uri uri = Uri.parse("content://media/external/audio/media/" + songid + "/albumart");                ParcelFileDescriptor pfd = getContentResolver().openFileDescriptor(uri, "r");                if (pfd != null) {                    FileDescriptor fd = pfd.getFileDescriptor();                    bm = BitmapFactory.decodeFileDescriptor(fd);                }            } else {                Uri uri = ContentUris.withAppendedId(sArtworkUri, albumid);                ParcelFileDescriptor pfd = getContentResolver().openFileDescriptor(uri, "r");                if (pfd != null) {                    FileDescriptor fd = pfd.getFileDescriptor();                    bm = BitmapFactory.decodeFileDescriptor(fd);                }            }        } catch (FileNotFoundException ex) {            //        }        BitmapDrawable bmpDraw = new BitmapDrawable(bm);        ImageView image = (ImageView)findViewById(R.id.album);        image.setImageDrawable(bmpDraw);    }   }

获取图片:
private String getAlbumArt(int trackId) {//trackId是音乐的id        String mUriTrack = "content://media/external/audio/media/#";        String[] projection = new String[] {"album_id"};        String selection = "_id = ?";        String[] selectionArgs = new String[] {Integer.toString(trackId)};                Cursor cur = context.getContentResolver().query(Uri.parse(mUriTrack), projection, selection, selectionArgs, null);        int album_id = 0;        if (cur.getCount() > 0 && cur.getColumnCount() > 0) {            cur.moveToNext();            album_id = cur.getInt(0);        }        cur.close();        cur = null;        if (album_id < 0) {            return null;        }        String mUriAlbums = "content://media/external/audio/albums";        projection = new String[] {"album_art"};        cur = context.getContentResolver().query(Uri.parse(mUriAlbums + "/" + Integer.toString(album_id)), projection, null, null, null);        String album_art = null;        if (cur.getCount() > 0 && cur.getColumnCount() > 0) {            cur.moveToNext();            album_art = cur.getString(0);        }        cur.close();        cur = null;                    return album_art;    }


7月31日 图片缩放

这是来自eoe的代码,我找来尝试解析时间:

是专门实现图片放大变小的代码,package com.jinyan.TestImage;import java.io.IOException;import java.io.InputStream;import java.net.HttpURLConnection;import java.net.MalformedURLException;import java.net.URL;import android.app.Activity;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.graphics.Matrix;import android.graphics.drawable.BitmapDrawable;import android.graphics.drawable.Drawable;import android.os.Bundle;import android.util.Log;import android.widget.Button;import android.widget.ImageView;public class TestImage extends Activity {        /** Called when the activity is first created. */        private static final String tag = "TestImage.............";                String imageUrl = "http://i.pbase.com/o6/92/229792/1/80199697.uAs58yHk.50pxCross_of_the_Knights_Templar_svg.png";        Bitmap bmImg;        ImageView imView;        Button button1;        @Override        public void onCreate(Bundle savedInstanceState) {                super.onCreate(savedInstanceState);                setContentView(R.layout.main);                imView = (ImageView) findViewById(R.id.imview);                imView.setImageBitmap(returnBitMap(imageUrl));                Bitmap bitmap = returnBitMap(imageUrl);                imView.setImageDrawable(resizeImage(bitmap, 600, 600));        }                public Bitmap returnBitMap(String url) {                URL myFileUrl = null;                Bitmap bitmap = null;                try {                        myFileUrl = new URL(url);                } catch (MalformedURLException e) {                        e.printStackTrace();                }                try {                        HttpURLConnection conn = (HttpURLConnection) myFileUrl                                        .openConnection();                        conn.setDoInput(true);                        conn.connect();                        InputStream is = conn.getInputStream();                        bitmap = BitmapFactory.decodeStream(is);                        is.close();                } catch (IOException e) {                        e.printStackTrace();                }                Log.v(tag,bitmap.toString());                                return bitmap;        }        public static Drawable resizeImage(Bitmap bitmap, int w, int h) {                // load the origial Bitmap                Bitmap BitmapOrg = bitmap;                int width = BitmapOrg.getWidth();                int height = BitmapOrg.getHeight();                int newWidth = w;                int newHeight = h;                                Log.v(tag,String.valueOf(width));                Log.v(tag,String.valueOf(height));                                Log.v(tag,String.valueOf(newWidth));                Log.v(tag,String.valueOf(newHeight));                // calculate the scale                float scaleWidth = ((float) newWidth) / width;                float scaleHeight = ((float) newHeight) / height;                // create a matrix for the manipulation                Matrix matrix = new Matrix();                // resize the Bitmap                matrix.postScale(scaleWidth, scaleHeight);                // if you want to rotate the Bitmap                // matrix.postRotate(45);                // recreate the new Bitmap                Bitmap resizedBitmap = Bitmap.createBitmap(BitmapOrg, 0, 0, width,                                height, matrix, true);                // make a Drawable from Bitmap to allow to set the Bitmap                // to the ImageView, ImageButton or what ever                return new BitmapDrawable(resizedBitmap);        }        }


更多相关文章

  1. android-------开发常用框架汇总
  2. Android(安卓)SwitchButton(滑动开关)
  3. android上类似iphone上的开关按钮
  4. Android(安卓)CDMA分支
  5. Android中的Animation使用
  6. LitePal框架上手小记录
  7. Android(安卓)首选网络模式默认值的修改方法
  8. error: resource android:attr/fontVariationSettings resource
  9. Android(安卓)Studio 快捷键(转)

随机推荐

  1. 如何得到数据库中所有表名 表字段及字段
  2. sqlserver常用命令行操作(启动、停止、暂
  3. sql查询点滴记录
  4. SQL事务用法begin tran,commit tran和roll
  5. sqlserver对字段的添加修改删除、以及字
  6. 动态SQL中返回数值的实现代码
  7. 利用sql函数生成不重复的订单号的代码
  8. sqlserver合并DataTable并排除重复数据的
  9. SQL Server 置疑、可疑、正在恢复等情况
  10. insert select与select into 的用法使用