转载自:http://blog.csdn.net/yudajun/article/details/7752226

1、调用系统音乐播放器

[java] view plain copy 在CODE上查看代码片
  1. privatevoidplayAudio(StringaudioPath){
  2. Intentintent=newIntent();
  3. intent.setAction(android.content.Intent.ACTION_VIEW);
  4. intent.setDataAndType(Uri.parse(audioPath),"audio/mp3");
  5. intent.setComponent(newComponentName("com.android.music","com.android.music.MediaPlaybackActivity"));
  6. startActivity(intent);
  7. }

或者

[java] view plain copy 在CODE上查看代码片
  1. Intentit=newIntent(Intent.ACTION_VIEW);
  2. it.setDataAndType(Uri.parse("/sdcard/111.mp3"),"audio/mp3");
  3. startActivity(it);

2、调用系统视频播放器

[java] view plain copy 在CODE上查看代码片
  1. privatevoidplayVideo(StringvideoPath){
  2. Intentintent=newIntent(Intent.ACTION_VIEW);
  3. Stringstrend="";
  4. if(videoPath.toLowerCase().endsWith(".mp4")){
  5. strend="mp4";
  6. }
  7. elseif(videoPath.toLowerCase().endsWith(".3gp")){
  8. strend="3gp";
  9. }
  10. elseif(videoPath.toLowerCase().endsWith(".mov")){
  11. strend="mov";
  12. }
  13. elseif(videoPath.toLowerCase().endsWith(".wmv")){
  14. strend="wmv";
  15. }
  16. intent.setDataAndType(Uri.parse(videoPath),"video/"+strend);
  17. startActivity(intent);
  18. }

或者

[java] view plain copy 在CODE上查看代码片
  1. Intentit=newIntent(Intent.ACTION_VIEW);
  2. it.setDataAndType(Uri.parse("/sdcard/1122.mp4"),"video/mp4");
  3. startActivity(it);

播放来自网络多媒体文件

[java] view plain copy 在CODE上查看代码片
  1. Stringextension=MimeTypeMap.getFileExtensionFromUrl(url);
  2. StringmimeType=MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension);
  3. IntentmediaIntent=newIntent(Intent.ACTION_VIEW);
  4. mediaIntent.setDataAndType(Uri.parse(url),mimeType);
  5. startActivity(mediaIntent);

调用系统Camera

[java] view plain copy 在CODE上查看代码片
  1. publicclassSysCameraextendsActivity{
  2. publicstaticfinalintMEDIA_TYPE_IMAGE=1;
  3. publicstaticfinalintMEDIA_TYPE_VIDEO=2;
  4. privatestaticfinalintCAPTURE_IMAGE_ACTIVITY_REQUEST_CODE=100;
  5. privatestaticfinalintCAPTURE_VIDEO_ACTIVITY_REQUEST_CODE=200;
  6. privateUrifileUri;
  7. Buttonbtvideo,btphoto;
  8. @Override
  9. publicvoidonCreate(BundlesavedInstanceState){
  10. super.onCreate(savedInstanceState);
  11. setContentView(R.layout.syscamera);
  12. btphoto=(Button)findViewById(R.id.sysPhoto);
  13. btvideo=(Button)findViewById(R.id.sysVideo);
  14. btphoto.setOnClickListener(newMonitor());
  15. btvideo.setOnClickListener(newMonitor());
  16. }
  17. privatevoidPhotoIntent(){
  18. //createIntenttotakeapicture
  19. Intentintent=newIntent(MediaStore.ACTION_IMAGE_CAPTURE);
  20. fileUri=getOutputMediaFileUri(MEDIA_TYPE_IMAGE);//createafiletosavetheimage
  21. intent.putExtra(MediaStore.EXTRA_OUTPUT,fileUri);//settheimagefilename
  22. //starttheimagecaptureIntent
  23. startActivityForResult(intent,CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE);
  24. }
  25. privatevoidVideoIntent(){
  26. //createnewIntent
  27. Intentintent=newIntent(MediaStore.ACTION_VIDEO_CAPTURE);
  28. fileUri=getOutputMediaFileUri(MEDIA_TYPE_VIDEO);//createafiletosavethevideo
  29. intent.putExtra(MediaStore.EXTRA_OUTPUT,fileUri);//settheimagefilename
  30. intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY,1);//setthevideoimagequalitytohigh
  31. //starttheVideoCaptureIntent
  32. startActivityForResult(intent,CAPTURE_VIDEO_ACTIVITY_REQUEST_CODE);
  33. }
  34. /**CreateafileUriforsavinganimageorvideo*/
  35. privatestaticUrigetOutputMediaFileUri(inttype){
  36. returnUri.fromFile(getOutputMediaFile(type));
  37. }
  38. /**CreateaFileforsavinganimageorvideo*/
  39. privatestaticFilegetOutputMediaFile(inttype){
  40. if(Environment.getExternalStorageState()==null){
  41. returnnull;
  42. }
  43. FilemediaStorageDir=newFile(Environment.getExternalStoragePublicDirectory(
  44. Environment.DIRECTORY_PICTURES),"MyCameraApp");
  45. //Createthestoragedirectoryifitdoesnotexist
  46. if(!mediaStorageDir.exists()){
  47. if(!mediaStorageDir.mkdirs()){
  48. Log.d("MyCameraApp","failedtocreatedirectory");
  49. returnnull;
  50. }
  51. }
  52. //Createamediafilename
  53. StringtimeStamp=newSimpleDateFormat("yyyyMMdd_HHmmss").format(newDate());
  54. FilemediaFile;
  55. if(type==MEDIA_TYPE_IMAGE){
  56. mediaFile=newFile(mediaStorageDir.getPath()+File.separator+
  57. "IMG_"+timeStamp+".jpg");
  58. }elseif(type==MEDIA_TYPE_VIDEO){
  59. mediaFile=newFile(mediaStorageDir.getPath()+File.separator+
  60. "VID_"+timeStamp+".mp4");
  61. }else{
  62. returnnull;
  63. }
  64. returnmediaFile;
  65. }
  66. @Override
  67. publicvoidonBackPressed(){
  68. Intentin=newIntent(this,MyRecorderActivity.class);
  69. startActivity(in);
  70. super.onBackPressed();
  71. }
  72. @Override
  73. protectedvoidonActivityResult(intrequestCode,intresultCode,Intentdata){
  74. if(requestCode==CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE){
  75. if(resultCode==RESULT_OK){
  76. //ImagecapturedandsavedtofileUrispecifiedintheIntent
  77. Toast.makeText(this,"Imagesavedto:\n"+
  78. data.getData(),Toast.LENGTH_LONG).show();
  79. }elseif(resultCode==RESULT_CANCELED){
  80. //Usercancelledtheimagecapture
  81. }else{
  82. //Imagecapturefailed,adviseuser
  83. }
  84. }
  85. if(requestCode==CAPTURE_VIDEO_ACTIVITY_REQUEST_CODE){
  86. if(resultCode==RESULT_OK){
  87. //VideocapturedandsavedtofileUrispecifiedintheIntent
  88. Toast.makeText(this,"Videosavedto:\n"+
  89. data.getData(),Toast.LENGTH_LONG).show();
  90. }elseif(resultCode==RESULT_CANCELED){
  91. //Usercancelledthevideocapture
  92. }else{
  93. //Videocapturefailed,adviseuser
  94. }
  95. }
  96. }
  97. classMonitorimplementsOnClickListener{
  98. @Override
  99. publicvoidonClick(Viewv){
  100. switch(v.getId()){
  101. caseR.id.sysPhoto:
  102. PhotoIntent();
  103. break;
  104. caseR.id.sysVideo:
  105. VideoIntent();
  106. break;
  107. }
  108. }
  109. }
  110. }

更多相关文章

  1. SQlite Android数据库的应用 Android SQLite 简易的学生成绩管理
  2. 代码设置RelativeLayout相对位置设置
  3. android瀑布流代码
  4. 风火轮 树莓派3 android系统编译
  5. 【Android】监听SDCard安装和卸载的代码片段(测试通过)

随机推荐

  1. Android中实现ListView横向滑动
  2. RadioButton 设置文字居中
  3. android选择Windows 8 下配置Cocos2d-x +
  4. 为android系统添加USB AUDIO设备的放音
  5. 开发笔记---软键盘遮挡输入框和导航栏遮
  6. [原]如何在Android用FFmpeg+SDL2.0之同步
  7. UIL神器
  8. DRM在Android中(2)——HAL
  9. cocos2dx 在android手机输入特殊字符导致
  10. Android 抽象回调函数以及接口回调更新UI