android读取多媒体图片,Android开发之多媒体文件获取工具类实例【音频,视频,图片等】...

本文实例讲述了android开发之多媒体文件获取工具类。分享给大家供大家参考,具体如下:

package com.android.ocr.util;

import java.io.file;

import java.util.arraylist;

import java.util.list;

import android.content.context;

import android.database.cursor;

import android.graphics.bitmap;

import android.provider.mediastore;

/**

* 根据mediastore查询信息

* @project app_readcard

* @package com.android.ocr.util

* @author chenlin

* @version 1.0

* @date 2013年6月16日

* @note todo

*/

public class mediastoreutil {

private static final string tag = "mediastoreutil";

/**

* 查询音频文件名称

*

* @param context

* @return

*/

public static list getaudionames(context context) {

list list = new arraylist();

cursor cursor = context.getcontentresolver().query(

mediastore.audio.media.external_content_uri,

new string[] { mediastore.audio.media._id, mediastore.audio.media.display_name, mediastore.audio.media.title,

mediastore.audio.media.duration, mediastore.audio.media.artist, mediastore.audio.media.album,

mediastore.audio.media.year, mediastore.audio.media.mime_type, mediastore.audio.media.size,

mediastore.audio.media.data }, null, new string[] {}, null);

while (cursor.movetonext()) {

string filename = cursor.getstring(cursor.getcolumnindex(mediastore.audio.media.display_name));

list.add(filename);

}

return list;

}

/**

* 查询图片文件名称

*

* @param context

* @return

*/

public static list getimagenames(context context) {

list list = new arraylist();

cursor cursor = context.getcontentresolver().query(

mediastore.images.media.external_content_uri,

new string[] { mediastore.images.media._id, mediastore.images.media.display_name, mediastore.images.media.title,

mediastore.images.media.mime_type, mediastore.images.media.size, mediastore.images.media.data }, null,

new string[] {}, null);

while (cursor.movetonext()) {

logger.i(tag, "filepath==" + mediastore.images.media.data);

string filepath = cursor.getstring(cursor.getcolumnindex(mediastore.images.media.data));

string filename = cursor.getstring(cursor.getcolumnindex(mediastore.images.media.display_name));

list.add(filepath + "/" + filename);

}

return list;

}

/**

* 查询图片文件

*

* @param context

* @return

*/

public static list getimages(context context) {

list list = new arraylist();

cursor cursor = context.getcontentresolver().query(

mediastore.images.media.external_content_uri,

new string[] { mediastore.images.media._id, mediastore.images.media.display_name, mediastore.images.media.title,

mediastore.images.media.mime_type, mediastore.images.media.size, mediastore.images.media.data }, null,

new string[] {}, null);

while (cursor.movetonext()) {

string filepath = cursor.getstring(cursor.getcolumnindex(mediastore.images.media.data));

logger.i(tag, "filepath==" + filepath);

string filename = cursor.getstring(cursor.getcolumnindex(mediastore.images.media.display_name));

//logger.i(tag, "filename==" + filename);

file file = new file(filepath);

list.add(file);

}

return list;

}

/**

* 查询文件

*

* @param context

* @return

*/

public static list getallfiles(context context) {

list list = new arraylist();

cursor cursor = context.getcontentresolver().query(

mediastore.images.media.external_content_uri,

new string[] { mediastore.images.media._id, mediastore.images.media.display_name, mediastore.images.media.title,

mediastore.images.media.mime_type, mediastore.images.media.size, mediastore.images.media.data }, null,

new string[] {}, null);

while (cursor.movetonext()) {

string filepath = cursor.getstring(cursor.getcolumnindex(mediastore.images.media.data));

logger.i(tag, "filepath==" + filepath);

string filename = cursor.getstring(cursor.getcolumnindex(mediastore.images.media.display_name));

//logger.i(tag, "filename==" + filename);

file file = new file(filepath);

list.add(file);

}

return list;

}

/**

* 获取所有的缩列图

*

* @param context

* @return

*/

public static bitmap[] getbitmaps(context context) {

bitmap[] bitmaps;

string[] projection = { mediastore.images.media._id, mediastore.images.media.data };

cursor cursor = context.getcontentresolver().query(mediastore.images.media.external_content_uri, projection, null, null,

mediastore.images.media._id);

int count = cursor.getcount();

int image_column_index = cursor.getcolumnindex(mediastore.images.media._id);

bitmaps = new bitmap[count];

for (int i = 0; i < count; i++) {

cursor.movetoposition(i);

int id = cursor.getint(image_column_index);

bitmaps[i] = mediastore.images.thumbnails.getthumbnail(context.getcontentresolver(), id,

mediastore.images.thumbnails.micro_kind, null);

}

return bitmaps;

}

/**

* 查询图片缩列文件名称

*

* @param context

* @return

*/

public static list getthumbnames(context context) {

list list = new arraylist();

cursor cursor = context.getcontentresolver().query(

mediastore.images.thumbnails.external_content_uri,

new string[] { mediastore.images.thumbnails._id, mediastore.images.thumbnails.data, mediastore.images.thumbnails.kind,

mediastore.images.thumbnails.image_id }, null, new string[] {}, null);

while (cursor.movetonext()) {

string filename = cursor.getstring(cursor.getcolumnindex(mediastore.images.media.display_name));

list.add(filename);

}

return list;

}

/**

* 获得所有视频文件

* @param context

*/

public static arraylist getvideoinfo(context context){

string[] thumbcolumns = new string[]{

mediastore.video.thumbnails.data,

mediastore.video.thumbnails.video_id

};

string[] mediacolumns = new string[]{

mediastore.video.media.data,

mediastore.video.media._id,

mediastore.video.media.title,

mediastore.video.media.mime_type

};

//首先检索sdcard上所有的video

cursor cursor = context.getcontentresolver().query(mediastore.video.media.external_content_uri, mediacolumns, null, null, null);

arraylist videolist = new arraylist();

if(cursor.movetofirst()){

do{

videoinfo info = new videoinfo();

info.filepath = cursor.getstring(cursor.getcolumnindexorthrow(mediastore.video.media.data));

info.mimetype = cursor.getstring(cursor.getcolumnindexorthrow(mediastore.video.media.mime_type));

info.title = cursor.getstring(cursor.getcolumnindexorthrow(mediastore.video.media.title));

//获取当前video对应的id,然后根据该id获取其thumb

int id = cursor.getint(cursor.getcolumnindexorthrow(mediastore.video.media._id));

string selection = mediastore.video.thumbnails.video_id +"=?";

string[] selectionargs = new string[]{

id+""

};

cursor thumbcursor = context.getcontentresolver().query(mediastore.video.thumbnails.external_content_uri, thumbcolumns, selection, selectionargs, null);

if(thumbcursor.movetofirst()){

info.thumbpath = cursor.getstring(cursor.getcolumnindexorthrow(mediastore.video.thumbnails.data));

}

//然后将其加入到videolist

videolist.add(info);

}while(cursor.movetonext());

}

return videolist;

}

static class videoinfo{

string filepath;

string mimetype;

string thumbpath;

string title;

}

}

希望本文所述对大家android程序设计有所帮助。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值