调用系统播放器,调用系统Camera [复制链接]

2015-10-23 16:18
lmy0720 阅读:701 评论:2 赞:0
Tag:  
1、调用系统音乐播放器

[java] 
  1. private void playAudio(String audioPath){     
  2.         Intent intent = new Intent();    
  3.         intent.setAction(android.content.Intent.ACTION_VIEW);  
  4.         intent.setDataAndType(Uri.parse(audioPath), "audio/mp3");  
  5.         intent.setComponent(new ComponentName("com。android。music","com。android。music。MediaPlaybackActivity"));  
  6.         startActivity(intent);  
  7.           
  8.     }  
或者
[java] 
  1. Intent it = new Intent(Intent.ACTION_VIEW);  
  2.         it.setDataAndType(Uri.parse("/sdcard/111.mp3"), "audio/mp3");  
  3.         startActivity(it);  


2、调用系统视频播放器

[java] 
  1. private void playVideo(String videoPath){  
  2.            Intent intent = new Intent(Intent.ACTION_VIEW);  
  3.            String strend="";  
  4.            if(videoPath.toLowerCase().endsWith("。mp4")){  
  5.                strend="mp4";  
  6.            }  
  7.            else if(videoPath.toLowerCase().endsWith("。3gp")){  
  8.                strend="3gp";  
  9.            }  
  10.            else if(videoPath。toLowerCase()。endsWith("。mov")){  
  11.                strend="mov";  
  12.            }  
  13.            else if(videoPath.toLowerCase().endsWith("。wmv")){  
  14.                strend="wmv";  
  15.            }  
  16.              
  17.            intent.setDataAndType(Uri.parse(videoPath), "video/"+strend);  
  18.            startActivity(intent);  
  19.        }  

或者

[java] 
  1. Intent it = new Intent(Intent.ACTION_VIEW);  
  2.         it.setDataAndType(Uri.parse("/sdcard/1122.mp4"), "video/mp4");  
  3.         startActivity(it);  

播放来自网络多媒体文件

[java] 
  1. String extension = MimeTypeMap.getFileExtensionFromUrl(url);  
  2. String mimeType = MimeTypeMap。getSingleton()。getMimeTypeFromExtension(extension);  
  3. Intent mediaIntent = new Intent(Intent.ACTION_VIEW);  
  4. mediaIntent.setDataAndType(Uri.parse(url), mimeType);  
  5. startActivity(mediaIntent);  


调用系统Camera 

[java] 
  1. public class SysCamera extends Activity {  
  2.   
  3.     public static final int MEDIA_TYPE_IMAGE = 1;  
  4.     public static final int MEDIA_TYPE_VIDEO = 2;  
  5.   
  6.     private static final int CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE = 100;  
  7.     private static final int CAPTURE_VIDEO_ACTIVITY_REQUEST_CODE = 200;  
  8.   
  9.     private Uri fileUri;  
  10.     Button btvideo,btphoto;  
  11.       
  12.     @Override  
  13.     public void onCreate(Bundle savedInstanceState) {  
  14.         super。onCreate(savedInstanceState);  
  15.           
  16.         setContentView(R。layout。syscamera);  
  17.          
  18.         btphoto=(Button)findViewById(R。id。sysPhoto);  
  19.         btvideo=(Button)findViewById(R.id.sysVideo);  
  20.         btphoto.setOnClickListener(new Monitor());  
  21.         btvideo.setOnClickListener(new Monitor());  
  22.           
  23.     }  
  24.       
  25.     private void PhotoIntent(){  
  26.          // create Intent to take a picture   
  27.         Intent intent = new Intent(MediaStore。ACTION_IMAGE_CAPTURE);  
  28.   
  29.         fileUri = getOutputMediaFileUri(MEDIA_TYPE_IMAGE); // create a file to save the image  
  30.         intent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri); // set the image file name  
  31.         // start the image capture Intent  
  32.         startActivityForResult(intent, CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE);  
  33.     }  
  34.       
  35.     private void VideoIntent(){  
  36.          //create new Intent  
  37.         Intent intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);  
  38.   
  39.         fileUri = getOutputMediaFileUri(MEDIA_TYPE_VIDEO);  // create a file to save the video  
  40.         intent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri);  // set the image file name  
  41.         intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1); // set the video image quality to high  
  42.         // start the Video Capture Intent  
  43.         startActivityForResult(intent, CAPTURE_VIDEO_ACTIVITY_REQUEST_CODE);  
  44.     }  
  45.       
  46.     /** Create a file Uri for saving an image or video */  
  47.     private static Uri getOutputMediaFileUri(int type){  
  48.           return Uri.fromFile(getOutputMediaFile(type));  
  49.     }  
  50.   
  51.     /** Create a File for saving an image or video */  
  52.     private static File getOutputMediaFile(int type){  
  53.         if (Environment.getExternalStorageState() == null){  
  54.             return null;  
  55.         }   
  56.         File mediaStorageDir = new File(Environment。getExternalStoragePublicDirectory(  
  57.                   Environment.DIRECTORY_PICTURES), "MyCameraApp");  
  58.          
  59.         // Create the storage directory if it does not exist  
  60.         if (! mediaStorageDir.exists()){  
  61.             if (! mediaStorageDir。mkdirs()){  
  62.                 Log.d("MyCameraApp", "failed to create directory");  
  63.                 return null;  
  64.             }  
  65.         }  
  66.   
  67.         // Create a media file name  
  68.         String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date());  
  69.         File mediaFile;  
  70.         if (type == MEDIA_TYPE_IMAGE){  
  71.             mediaFile = new File(mediaStorageDir。getPath() + File。separator +  
  72.             "IMG_"+ timeStamp + "。jpg");  
  73.         } else if(type == MEDIA_TYPE_VIDEO) {  
  74.             mediaFile = new File(mediaStorageDir.getPath() + File.separator +  
  75.             "VID_"+ timeStamp + ".mp4");  
  76.         } else {  
  77.             return null;  
  78.         }  
  79.   
  80.         return mediaFile;  
  81.     }  
  82.       
  83.      @Override  
  84.      public void onBackPressed() {  
  85.             Intent in=new Intent(this, MyRecorderActivity。class);  
  86.             startActivity(in);  
  87.             super.onBackPressed();  
  88.         }  
  89.        
  90.     @Override  
  91.     protected void onActivityResult(int requestCode, int resultCode, Intent data) {  
  92.         if (requestCode == CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE) {  
  93.             if (resultCode == RESULT_OK) {  
  94.                 // Image captured and saved to fileUri specified in the Intent  
  95.                 Toast.makeText(this, "Image saved to:\n" +  
  96.                          data。getData(), Toast。LENGTH_LONG)。show();  
  97.             } else if (resultCode == RESULT_CANCELED) {  
  98.                 // User cancelled the image capture  
  99.             } else {  
  100.                 // Image capture failed, advise user  
  101.             }  
  102.         }  
  103.   
  104.         if (requestCode == CAPTURE_VIDEO_ACTIVITY_REQUEST_CODE) {  
  105.             if (resultCode == RESULT_OK) {  
  106.                 // Video captured and saved to fileUri specified in the Intent  
  107.                 Toast.makeText(this"Video saved to:\n" +  
  108.                          data。getData(), Toast。LENGTH_LONG)。show();  
  109.             } else if (resultCode == RESULT_CANCELED) {  
  110.                 // User cancelled the video capture  
  111.             } else {  
  112.                 // Video capture failed, advise user  
  113.             }  
  114.         }  
  115.     }  
  116.       
  117.     class Monitor implements OnClickListener{  
  118.   
  119.         @Override  
  120.         public void onClick(View v) {  
  121.               
  122.                 switch(v.getId()){  
  123.                 case R.id.sysPhoto:  
  124.                     PhotoIntent();  
  125.                     break;  
  126.                 case R.id.sysVideo:  
  127.                     VideoIntent();  
  128.                     break;  
  129.                 }  
  130.         }  
  131.     }  
  132. }  
  133. 转载处:

我来说两句
您需要登录后才可以评论 登录 | 立即注册
facelist
所有评论(2)
cqzz 2015-10-25 18:19
很有用,好
回复
丶青楼丶 2015-10-26 10:25
不错不错
回复
领先的中文移动开发者社区
18620764416
7*24全天服务
意见反馈:1294855032@qq.com

扫一扫关注我们

Powered by X3.2© 2001-2019 ( )

重庆快乐十分 重庆快乐十分 山东11选5开奖 海南福彩网 吉林福彩网 上海体彩网 海南七星彩 北京体彩网 青海福彩网 728彩票计划群