Android 调用系统播放器,调用系统Camera
16lz
2021-01-23
转载自:http://blog.csdn.net/yudajun/article/details/7752226
1、调用系统音乐播放器
- privatevoidplayAudio(StringaudioPath){
- Intentintent=newIntent();
- intent.setAction(android.content.Intent.ACTION_VIEW);
- intent.setDataAndType(Uri.parse(audioPath),"audio/mp3");
- intent.setComponent(newComponentName("com.android.music","com.android.music.MediaPlaybackActivity"));
- startActivity(intent);
- }
或者
[java] view plain copy- Intentit=newIntent(Intent.ACTION_VIEW);
- it.setDataAndType(Uri.parse("/sdcard/111.mp3"),"audio/mp3");
- startActivity(it);
2、调用系统视频播放器
[java] view plain copy- privatevoidplayVideo(StringvideoPath){
- Intentintent=newIntent(Intent.ACTION_VIEW);
- Stringstrend="";
- if(videoPath.toLowerCase().endsWith(".mp4")){
- strend="mp4";
- }
- elseif(videoPath.toLowerCase().endsWith(".3gp")){
- strend="3gp";
- }
- elseif(videoPath.toLowerCase().endsWith(".mov")){
- strend="mov";
- }
- elseif(videoPath.toLowerCase().endsWith(".wmv")){
- strend="wmv";
- }
- intent.setDataAndType(Uri.parse(videoPath),"video/"+strend);
- startActivity(intent);
- }
或者
[java] view plain copy- Intentit=newIntent(Intent.ACTION_VIEW);
- it.setDataAndType(Uri.parse("/sdcard/1122.mp4"),"video/mp4");
- startActivity(it);
播放来自网络多媒体文件
[java] view plain copy- Stringextension=MimeTypeMap.getFileExtensionFromUrl(url);
- StringmimeType=MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension);
- IntentmediaIntent=newIntent(Intent.ACTION_VIEW);
- mediaIntent.setDataAndType(Uri.parse(url),mimeType);
- startActivity(mediaIntent);
调用系统Camera
- publicclassSysCameraextendsActivity{
- publicstaticfinalintMEDIA_TYPE_IMAGE=1;
- publicstaticfinalintMEDIA_TYPE_VIDEO=2;
- privatestaticfinalintCAPTURE_IMAGE_ACTIVITY_REQUEST_CODE=100;
- privatestaticfinalintCAPTURE_VIDEO_ACTIVITY_REQUEST_CODE=200;
- privateUrifileUri;
- Buttonbtvideo,btphoto;
- @Override
- publicvoidonCreate(BundlesavedInstanceState){
- super.onCreate(savedInstanceState);
- setContentView(R.layout.syscamera);
- btphoto=(Button)findViewById(R.id.sysPhoto);
- btvideo=(Button)findViewById(R.id.sysVideo);
- btphoto.setOnClickListener(newMonitor());
- btvideo.setOnClickListener(newMonitor());
- }
- privatevoidPhotoIntent(){
- //createIntenttotakeapicture
- Intentintent=newIntent(MediaStore.ACTION_IMAGE_CAPTURE);
- fileUri=getOutputMediaFileUri(MEDIA_TYPE_IMAGE);//createafiletosavetheimage
- intent.putExtra(MediaStore.EXTRA_OUTPUT,fileUri);//settheimagefilename
- //starttheimagecaptureIntent
- startActivityForResult(intent,CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE);
- }
- privatevoidVideoIntent(){
- //createnewIntent
- Intentintent=newIntent(MediaStore.ACTION_VIDEO_CAPTURE);
- fileUri=getOutputMediaFileUri(MEDIA_TYPE_VIDEO);//createafiletosavethevideo
- intent.putExtra(MediaStore.EXTRA_OUTPUT,fileUri);//settheimagefilename
- intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY,1);//setthevideoimagequalitytohigh
- //starttheVideoCaptureIntent
- startActivityForResult(intent,CAPTURE_VIDEO_ACTIVITY_REQUEST_CODE);
- }
- /**CreateafileUriforsavinganimageorvideo*/
- privatestaticUrigetOutputMediaFileUri(inttype){
- returnUri.fromFile(getOutputMediaFile(type));
- }
- /**CreateaFileforsavinganimageorvideo*/
- privatestaticFilegetOutputMediaFile(inttype){
- if(Environment.getExternalStorageState()==null){
- returnnull;
- }
- FilemediaStorageDir=newFile(Environment.getExternalStoragePublicDirectory(
- Environment.DIRECTORY_PICTURES),"MyCameraApp");
- //Createthestoragedirectoryifitdoesnotexist
- if(!mediaStorageDir.exists()){
- if(!mediaStorageDir.mkdirs()){
- Log.d("MyCameraApp","failedtocreatedirectory");
- returnnull;
- }
- }
- //Createamediafilename
- StringtimeStamp=newSimpleDateFormat("yyyyMMdd_HHmmss").format(newDate());
- FilemediaFile;
- if(type==MEDIA_TYPE_IMAGE){
- mediaFile=newFile(mediaStorageDir.getPath()+File.separator+
- "IMG_"+timeStamp+".jpg");
- }elseif(type==MEDIA_TYPE_VIDEO){
- mediaFile=newFile(mediaStorageDir.getPath()+File.separator+
- "VID_"+timeStamp+".mp4");
- }else{
- returnnull;
- }
- returnmediaFile;
- }
- @Override
- publicvoidonBackPressed(){
- Intentin=newIntent(this,MyRecorderActivity.class);
- startActivity(in);
- super.onBackPressed();
- }
- @Override
- protectedvoidonActivityResult(intrequestCode,intresultCode,Intentdata){
- if(requestCode==CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE){
- if(resultCode==RESULT_OK){
- //ImagecapturedandsavedtofileUrispecifiedintheIntent
- Toast.makeText(this,"Imagesavedto:\n"+
- data.getData(),Toast.LENGTH_LONG).show();
- }elseif(resultCode==RESULT_CANCELED){
- //Usercancelledtheimagecapture
- }else{
- //Imagecapturefailed,adviseuser
- }
- }
- if(requestCode==CAPTURE_VIDEO_ACTIVITY_REQUEST_CODE){
- if(resultCode==RESULT_OK){
- //VideocapturedandsavedtofileUrispecifiedintheIntent
- Toast.makeText(this,"Videosavedto:\n"+
- data.getData(),Toast.LENGTH_LONG).show();
- }elseif(resultCode==RESULT_CANCELED){
- //Usercancelledthevideocapture
- }else{
- //Videocapturefailed,adviseuser
- }
- }
- }
- classMonitorimplementsOnClickListener{
- @Override
- publicvoidonClick(Viewv){
- switch(v.getId()){
- caseR.id.sysPhoto:
- PhotoIntent();
- break;
- caseR.id.sysVideo:
- VideoIntent();
- break;
- }
- }
- }
- }
更多相关文章
- SQlite Android数据库的应用 Android SQLite 简易的学生成绩管理
- 代码设置RelativeLayout相对位置设置
- android瀑布流代码
- 风火轮 树莓派3 android系统编译
- 【Android】监听SDCard安装和卸载的代码片段(测试通过)