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程序设计有所帮助。