Android多媒体访问

来源:互联网 发布:软件类上市公司 编辑:程序博客网 时间:2024/06/06 03:02

Android多媒体访问

Android的多媒体文件主要存储在/data/data/com.android.providers.media/databases目录下,该目录下有两个db文件,一个是内部存储数据库文件(internal.db),一个是存储卡数据库(external-XXXX.db)。
媒体文件的操作主要是围绕着这两个数据库来进行。这两个数据库的结构是完全一模一样的。

Android提供了MediaStore类,该类是一个ContentProvider,管理着设备上自带的和外部的多媒体文件,同时包含着每一个多媒体文件的数据信息。

通过Uri我们可以获取到媒体信息的完整路径,类型等信息,同样,我们也可以通过文件路径创建Uri

由文件路径得到URI

复制代码
    Uri mUri = Uri.parse("content://media/external/images/media");     Uri mImageUri = null;    Cursor cursor = mContext.getContentResolver().query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, null, null,                    null, MediaStore.Images.Media.DEFAULT_SORT_ORDER);    cursor.moveToFirst();    while (!cursor.isAfterLast()) {        String data = cursor.getString(cursor.getColumnIndex(MediaStore.MediaColumns.DATA));        if (picPath.equals(data)) {            int ringtoneID = cursor.getInt(cursor.getColumnIndex(MediaStore.MediaColumns._ID));            mImageUri = Uri.withAppendedPath(mUri, ""+ ringtoneID);            break;        }                    cursor.moveToNext();    }
复制代码


由Uri获取文件路径

复制代码
    string  myImageUrl = "content://media/external/images/media/***";    Uri uri = Uri.parse(myImageUrl);        String[] proj = { MediaStore.Images.Media.DATA };       Cursor actualimagecursor = mContext.getContentResolver().query(uri,proj,null,null,null);      int actual_image_column_index = actualimagecursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);       actualimagecursor.moveToFirst();           String img_path = actualimagecursor.getString(actual_image_column_index);      File file = new File(img_path);    Uri fileUri = Uri.fromFile(file);
复制代码


获取本地媒体数据库中的video相关信息

复制代码
    private void testScanVideoUri(){        Log.w(TAG,"testScanVideoUri come in=="+MediaStore.Video.Media.EXTERNAL_CONTENT_URI);        Cursor cursor = mContext.getContentResolver().query(MediaStore.Video.Media.EXTERNAL_CONTENT_URI,                         null, null,null, null);        int totalCount =cursor.getCount();        Log.w(TAG,"totalCount = "+totalCount);        cursor.moveToFirst();                for( int i = 0;i < totalCount;i++){            String data = cursor.getString(cursor.getColumnIndex(MediaStore.MediaColumns.DATA));            String data1 = cursor.getString(cursor.getColumnIndex(MediaStore.Video.Media.DATA));            String title = cursor.getString(cursor.getColumnIndex(MediaStore.Video.Media.TITLE));            String type = cursor.getString(cursor.getColumnIndex(MediaStore.Video.Media.MIME_TYPE));            int id = cursor.getInt(cursor.getColumnIndex(MediaStore.Video.Media._ID));            Log.i(TAG,"data="+data);            Log.i(TAG,"data1="+data1);            Log.i(TAG,"title="+title);            Log.i(TAG,"type="+type);            Log.i(TAG,"id="+id);                        cursor.moveToNext();        }        Log.w(TAG,"testScanVideoUri come out");    }
复制代码

 

参考:
Android媒体的一些使用总结 
http://blog.csdn.net/xingtian713/article/details/6458150

Android媒体的一些使用总结(2) 
http://blog.csdn.net/xingtian713/article/details/6525411

Android多媒体学习一:Android中Image的简单实例。 
http://blog.csdn.net/chenjie19891104/article/details/6320323

Android开发之旅: Intents和Intent Filters(理论部分)
http://www.cnblogs.com/skynet/archive/2010/07/20/1781644.html

Android学习笔记——文件路径(/mnt/sdcard/...)、Uri(content://media/external/...)学习   (比较透彻)
http://www.cnblogs.com/lingyun1120/archive/2012/04/18/2455212.html

Android 4.4从图库选择图片,获取图片路径并裁剪 
http://blog.csdn.net/tempersitu/article/details/20557383

http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2014/0821/1660.html

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 微信版本低登录不了怎么办 软件与系统不兼容怎么办 软件与手机系统不兼容怎么办 qq和手机不兼容怎么办 来个软件不兼容怎么办 安卓8.0不兼容app怎么办 两条内存不兼容怎么办 王者荣耀软件不兼容怎么办 冒险岛不兼容win7怎么办 百度网盘手机号换了怎么办 破解版游戏闪退怎么办 安卓手机软件不兼容怎么办 安卓8.0软件闪退怎么办 游戏与手机系统不兼容怎么办 耳机和手机不兼容怎么办 软件和手机不兼容怎么办 小米6开关键失灵怎么办 同步助手下载不了微信旧版本怎么办 闲鱼退货卖家拒收怎么办 闲鱼把联系人删了怎么办 闲鱼付款了卖家不发货怎么办 红米4c卡怎么办 如果买鞋子买到假的怎么办 猎趣永久封号钱怎么办 支付宝换绑定手机后怎么办 为什么回收站的删除键不见了怎么办 微信在异地登录怎么办 支付宝帐号被冻结怎么办 进不了路由器设置页面怎么办 支付宝支付密码忘记了怎么办 淘宝忘记登录密码了怎么办 手机换卡了微信怎么办 淘宝退款成功后收到货怎么办 没收到货退款商家不处理怎么办 没收到货申请退款卖家不处理怎么办 京东已收到货却不处理退款怎么办 货退了卖家不退款怎么办 淘宝退了货卖家不退款怎么办 手机淘宝不显示图片怎么办 京东申请退款卖家不处理怎么办 企业网银冻结了怎么办