zoukankan      html  css  js  c++  java
  • Android 流媒体系列(二)

    import java.io.IOException;
    import android.app.Activity;
    import android.content.ContentResolver;
    import android.database.Cursor;
    import android.media.ExifInterface;
    import android.os.Bundle;
    import android.provider.MediaStore;
    public class MainActivity extends Activity {
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            //测试1
            //getVideosInfo();
            //测试2
            //getPhotosInfo();
            //测试3
            getAudiosInfo();
        }
        
        //获取设备上所有的视频信息
    	private void getVideosInfo() {
    		ContentResolver contentResolver=getContentResolver();
    		String [] videoColumns=new String[]{
    				MediaStore.Video.Media._ID,
    				MediaStore.Video.Media.DATA,
    				MediaStore.Video.Media.TITLE,
    				MediaStore.Video.Media.MIME_TYPE
    		};
    //      两种方法均可		
    //		Cursor cursor=
    //	    this.managedQuery(MediaStore.Video.Media.EXTERNAL_CONTENT_URI, mediaColumns, null, null, null);
    		Cursor cursor=contentResolver.query
    		(MediaStore.Video.Media.EXTERNAL_CONTENT_URI, videoColumns, null, null, null);
    		while (cursor.moveToNext()) {
    			String _id=
    			cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Video.Media._ID));
    			String filePath=
    			cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Video.Media.DATA));
    			String title=
    			cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Video.Media.TITLE));
    			String mime_type=
    			cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Video.Media.MIME_TYPE));
    		    System.out.println("_id="+_id);
    		    System.out.println("title="+title);
    		    System.out.println("filePath="+filePath);
    		    System.out.println("mime_type="+mime_type);
    		}
    	}
    	
    	 //获取设备上所有的照片信息
    	 private void getPhotosInfo() {
    			ContentResolver contentResolver=getContentResolver();
    			String [] photoColumns=new String[]{
    					MediaStore.Images.Media._ID,
    					MediaStore.Images.Media.DATA,
    					MediaStore.Images.Media.TITLE,
    					MediaStore.Images.Media.MIME_TYPE,
    					MediaStore.Images.Media.SIZE,
    					MediaStore.Images.Media.ORIENTATION
    			};
    //	      两种方法均可		
    //			Cursor cursor=
    //		    this.managedQuery(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, mediaColumns, null, null, null);
    			Cursor cursor=contentResolver.query
    			(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, photoColumns, null, null, null);
    			while (cursor.moveToNext()) {
    				String _id=
    				cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Images.Media._ID));
    				String filePath=
    				cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA));
    				String title=
    				cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Images.Media.TITLE));
    				String mime_type=
    				cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Images.Media.MIME_TYPE));
    				String size=
    				cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Images.Media.SIZE));
    				//得到照片旋转角度方法一
    				String orientation0=cursor.getString
    				(cursor.getColumnIndexOrThrow(MediaStore.Images.Media.ORIENTATION));
    			    System.out.println("_id="+_id);
    			    System.out.println("size="+size);
    			    System.out.println("title="+title);
    			    System.out.println("filePath="+filePath);
    			    System.out.println("mime_type="+mime_type);
    			    System.out.println("第一处 orientation0="+orientation0);
    			    try {
    					ExifInterface exifInterface=new ExifInterface(filePath);
    					String image_length=
    					exifInterface.getAttribute(ExifInterface.TAG_IMAGE_LENGTH);
    					String image_width=
    					exifInterface.getAttribute(ExifInterface.TAG_IMAGE_WIDTH);
    					String orientation1=
    					exifInterface.getAttribute(ExifInterface.TAG_ORIENTATION);
    					String dateTime=
    					exifInterface.getAttribute(ExifInterface.TAG_DATETIME);
    					System.out.println("image_length="+image_length);
    					System.out.println("image_width="+image_width);
    					System.out.println("dateTime="+dateTime);
    					//得到照片旋转角度方法二
    					//应该结合ExifInterface源码分析.
    					//此处有待于进一步分析和验证
    					switch (Integer.valueOf(orientation1)) {
    					case 1:
    						System.out.println("第二处旋转角度="+0);
    						break;
    					case 2:
    						//matrix.invert(matrix);
    						break;
    					case 3:
    						//matrix.setRotate(180);
    						System.out.println("第二处旋转角度="+180);
    						break;
    					case 4:
    						//matrix.invert(matrix);
    						//matrix.setRotate(180);
    						System.out.println("第二处旋转角度="+180);
    						break;
    					case 5:
    						//matrix.setRotate(90);
    						//matrix.invert(matrix);
    						System.out.println("第二处旋转角度="+90);
    						break;
    					case 6:
    						//matrix.setRotate(90);
    						System.out.println("第二处旋转角度="+90);
    						break; 
    					case 7: 
    						//matrix.invert(matrix);
    						//matrix.setRotate(90);
    						System.out.println("第二处旋转角度="+90);
    						break;    
    					case 8:
    						//matrix.setRotate(270);
    						System.out.println("第二处旋转角度="+270);
    						break;
    					default: 
    						break;
    					}
    					System.out.println("XXXXXXXXXXXXXXXXXXX");
    				} catch (IOException e) {
    					e.printStackTrace();
    				}
    				
    			}
    		 
    	 }
    	 
    	 //获取设备上所有的音频信息
    	 private void getAudiosInfo() {
    			ContentResolver contentResolver=getContentResolver();
    			String [] audioColumns=new String[]{
    					MediaStore.Audio.Media._ID,
    					MediaStore.Audio.Media.DATA,
    					MediaStore.Audio.Media.TITLE,
    					MediaStore.Audio.Media.MIME_TYPE
    			};
    //	      两种方法均可		
    //			Cursor cursor=
    //		    this.managedQuery(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, mediaColumns, null, null, null);
    			Cursor cursor=contentResolver.query
    			(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, audioColumns, null, null, null);
    			while (cursor.moveToNext()) {
    				String _id=
    				cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media._ID));
    				String filePath=
    				cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.DATA));
    				String title=
    				cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.TITLE));
    				String mime_type=
    				cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.MIME_TYPE));
    			    System.out.println("_id="+_id);
    			    System.out.println("title="+title);
    			    System.out.println("filePath="+filePath);
    			    System.out.println("mime_type="+mime_type);
    				
    			}
    		 
    	 }
       
    }

    移动开发:Android中MediaStore使用示例


    
       
    
    
  • 相关阅读:
    C语言实现两栈空间共享
    MyEclipse里项目部署到tomcat上之后,tomcat webpps文件夹里为什么找不到这个项目
    CSS选择器
    用友2016成都校园招聘笔试题
    windows、ubuntu下eclipse搭建java、Python环境问题总结
    ubuntu上用eclipse搭建java、python开发环境
    windows 下用eclipse搭建java、python开发环境
    简单事件机制的研究
    软件测试(软件安装:php+mysql+apache+mantis过程遇到的问题以及解决方法)
    4、总结一下,以软件开发生命周期来说明测试的使用情况。
  • 原文地址:https://www.cnblogs.com/new0801/p/6175849.html
Copyright © 2011-2022 走看看