Android编程实现获取多媒体库视频、音频、图片的方法
本文实例讲述了Android编程实现获取多媒体库视频、音频、图片的方法。分享给大家供大家参考,具体如下:
从媒体库中查找音频、视频、图片文件的相关信息,并获取视频、图片、专辑图片的缩略图
和一些文件操作
packagecom.uwatch.swconnectservice.util;
importjava.io.File;
importjava.io.FileDescriptor;
importjava.io.FileInputStream;
importjava.io.FileNotFoundException;
importjava.io.IOException;
importjava.io.InputStream;
importandroid.content.ContentResolver;
importandroid.content.ContentUris;
importandroid.content.Context;
importandroid.content.Intent;
importandroid.database.Cursor;
importandroid.graphics.Bitmap;
importandroid.graphics.BitmapFactory;
importandroid.media.MediaScannerConnection;
importandroid.media.MediaScannerConnection.OnScanCompletedListener;
importandroid.media.ThumbnailUtils;
importandroid.net.Uri;
importandroid.os.ParcelFileDescriptor;
importandroid.provider.MediaStore;
importandroid.util.Log;
publicclassFileOper{
publicstaticfinalString[]IMAGE_COLUMN={MediaStore.Images.Media.DATA,MediaStore.Images.Media.SIZE};
publicstaticfinalString[]AUDIO_COLUMN={MediaStore.Audio.Media.DATA,MediaStore.Audio.Media.SIZE,MediaStore.Audio.Media.DURATION,
MediaStore.Audio.Media._ID,MediaStore.Audio.Media.ALBUM_ID};
publicstaticfinalString[]VIDEO_COLUMN={MediaStore.Video.Media.DATA,MediaStore.Video.Media.SIZE,MediaStore.Audio.Media.DURATION};
privatestaticfinalUrisArtworkUri=Uri.parse("content://media/external/audio/albumart");
///创建文件夹
publicstaticvoidcreateFile(Stringpath){
Filefile=newFile(path);
if(!file.exists()){
file.mkdirs();
}
}
//删除文件,并刷新媒体库
publicstaticvoiddeleteFile(Stringpath,finalContextcontext,finalinttype){
Filefile=newFile(path);
if(file.exists()){
if(file.isFile()){
file.delete();
}elseif(file.isDirectory()){
deleteDirs(file);
}
}
///监听媒体库刷新情况
MediaScannerConnection.scanFile(context,newString[]{"/storage/sdcard0"},null,newOnScanCompletedListener(){
@Override
publicvoidonScanCompleted(Stringpath,Uriuri){////刷新完后做相应处理
if(type==1){
Stringlists=FileOper.getVideoFile(context);
SentMessage.SendToBluetooth(context,SentMessage.WATCH_PATH,lists);
}elseif(type==2){
Stringlists=FileOper.getAudioFiles(context);
SentMessage.SendToBluetooth(context,SentMessage.WATCH_PATH,lists);
}elseif(type==3){
Stringlists=FileOper.getImageFiles(context);
SentMessage.SendToBluetooth(context,SentMessage.WATCH_PATH,lists);
}
}
});/////
}
publicstaticvoiddeleteDirs(Filefile){
if(file.isDirectory()){
File[]files=file.listFiles();
if(files==null||files.length==0){
file.delete();
}else{
for(inti=0;i0){
for(inti=0;i
更多关于Android相关内容感兴趣的读者可查看本站专题:《Android开发入门与进阶教程》、《Android多媒体操作技巧汇总(音频,视频,录音等)》、《Android视图View技巧总结》、《Android编程之activity操作技巧总结》、《Android操作json格式数据技巧总结》、《Android资源操作技巧汇总》及《Android控件用法总结》
希望本文所述对大家Android程序设计有所帮助。