在Android 中调用选择图片、视频、添加音频、录音、拍摄视频、拍照等其他的功能【转】

本文介绍在Android应用中如何使用Intent来选择和捕获不同类型的多媒体文件,包括图片、视频和音频等内容。通过设置特定的动作和类型,开发者可以轻松实现从设备选择或直接拍摄多媒体素材的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  

//选择图片requestCode 返回的标识

  Intent innerIntent = new Intent(Intent.ACTION_GET_CONTENT);//"android.intent.action.GET_CONTENT"

  innerIntent.setType(contentType); //查看类型 String IMAGE_UNSPECIFIED= "image/*"; 详细的类型在 com.google.android.mms.ContentType 中

  Intent wrapperIntent = Intent.createChooser(innerIntent,null);

  ((Activity) context).startActivityForResult(wrapperIntent,requestCode);

  //视频

  Intent innerIntent = new Intent(Intent.ACTION_GET_CONTENT);

  innerIntent.setType(contentType); //String VIDEO_UNSPECIFIED ="video/*";

  Intent wrapperIntent = Intent.createChooser(innerIntent,null);

  ((Activity) context).startActivityForResult(wrapperIntent,requestCode);

  //添加音频

  Intent innerIntent = new Intent(Intent.ACTION_GET_CONTENT);

  innerIntent.setType(contentType); //String VIDEO_UNSPECIFIED ="video/*";

  Intent wrapperIntent = Intent.createChooser(innerIntent,null);

  ((Activity) context).startActivityForResult(wrapperIntent,requestCode);

  //录音

  Intent intent = new Intent(Intent.ACTION_GET_CONTENT);

  intent.setType(ContentType.AUDIO_AMR); //String AUDIO_AMR ="audio/amr";

  intent.setClassName("com.android.soundrecorder",

  "com.android.soundrecorder.SoundRecorder");

  ((Activity) context).startActivityForResult(intent,requestCode);

  //幻灯片头大 不做详细

  //拍摄视频

  int durationLimit = getVideoCaptureDurationLimit();//SystemProperties.getInt("ro.media.enc.lprof.duration", 60);

  Intent intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);

  intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 0);

  intent.putExtra(MediaStore.EXTRA_SIZE_LIMIT, sizeLimit);

  intent.putExtra(MediaStore.EXTRA_DURATION_LIMIT,durationLimit);

  startActivityForResult(intent, REQUEST_CODE_TAKE_VIDEO);

  //拍照 REQUEST_CODE_TAKE_PICTURE 为返回的标识

  Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);//"android.media.action.IMAGE_CAPTURE";

  intent.putExtra(MediaStore.EXTRA_OUTPUT,Mms.ScrapSpace.CONTENT_URI); //output,Uri.parse("content://mms/scrapSpace");

  startActivityForResult(intent, REQUEST_CODE_TAKE_PICTURE);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值