安卓多媒体相机及摄像机的数据处理

1.打开图库:Intent.ACTION_PICK
2.打开照相机:MediaStore.ACTION_IMAGE_CAPTURE
3.打开摄像机:MediaStore.ACTION_VIDEO_CAPTURE
4.图库内容提供者: uri:MediaStore.Images.Media.EXTERNAL_CONTENT_URI
字段:MediaStore.Images.Media.DATA 代表图片的路径

设置静态常量,标记对回传的请求码
public static final int PIC_CODE=101;//图库请求码
public static final int VIDEO_CODE=102;//摄像机请求码
public static final int CAMERA_CODE=103;//照相机请求码

1.打开相机

private void open_camera() {
  	//创建Intent对象
    Intent intent = new Intent();
    //设置动作
    intent.setAction(MediaStore.ACTION_IMAGE_CAPTURE);
    //手动保存图片
    long l = System.currentTimeMillis();
    file = new File("/sdcard/"+l+".jpg");
    //使用内容提供者将图片插入到指定file
    ContentResolver contentResolver = getContentResolver();//获得内容解析者
    ContentValues contentValues = new ContentValues();
    contentValues.put(MediaStore.Images.Media.DATA,file.getAbsolutePath());
    Uri uri = contentResolver.insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, contentValues);
    //设置一个输出参数,保证图片存入图库中
    intent.putExtra(MediaStore.EXTRA_OUTPUT,uri);//设置文件输出uri,必须设置 不然照片不能保存到图库中
    //开启intent
    startActivityForResult(intent,CAMERA_CODE);
}

2.打开摄像机

private void open_video() {
    //创建intent意图对象
    Intent intent = new Intent();
    //设置一个动作
    intent.setAction(MediaStore.ACTION_VIDEO_CAPTURE);
    //启动intent
    startActivityForResult(intent,VIDEO_CODE);
}

3.打开图库

private void open_pic() {
    //创建intent意图对象
    Intent intent = new Intent();
    //设置一个动作
    intent.setAction(Intent.ACTION_PICK);
    intent.setType("image/*");//打开所有的图片 如果设置为video/* 打开所有视频
    startActivityForResult(intent,PIC_CODE);
}

4.回传对数据的处理

/***
 *
 * @param requestCode  请求码
 * @param resultCode  结果码  OK
 * @param data   返回的数据:包含选择照片
 */
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if(requestCode==PIC_CODE&&resultCode== Activity.RESULT_OK){//请求码对应,结果码是OK
        //获得数据
        Uri data1 = data.getData();
        //将uri展示在ImageView
        imageView.setImageURI(data1);
    }else if(requestCode==VIDEO_CODE&&resultCode==Activity.RESULT_OK){
        Uri data1 = data.getData();
        Toast.makeText(this, ""+data1, Toast.LENGTH_SHORT).show();
        videoView.setVideoURI(data1);//设置资源
        videoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {//准备完毕
            @Override
            public void onPrepared(MediaPlayer mp) {
                videoView.start();//播放视频
            }
        });
    }else if(requestCode==CAMERA_CODE&&resultCode==Activity.RESULT_OK){
        Bitmap bitmap = BitmapFactory.decodeFile(file.getAbsolutePath());
        imageView.setImageBitmap(bitmap);
    }
}
项目理解:
1.在我们选中,跳转的时候intent,会带着我们选中的Uri,我们可以通过Uri来获取我们想要的数据
2.在保存照片,或者视频做跳转的时候,Intent或带着这个值存储的,数据库,
通过Uri来获取Data,
3.相机没有储存的功能所以必须有我们自己创建添加到数据库
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
用户点击 用户点击 linphone linphone linphone linphone 的图标后就开始了 的图标后就开始了 的图标后就开始了 的图标后就开始了 的图标后就开始了 linphone linphone linphone linphone 软件,这时 软件,这时 软件,这时 软件,这时 软件,这时 linphoneActivity linphoneActivity linphoneActivity linphoneActivity linphoneActivity linphoneActivity linphoneActivity开始运行,它 开始运行,它 开始运行,它 开始运行,它 使 linphoneService linphoneService linphoneService linphoneService linphoneServicelinphoneServicelinphoneService 开始,并做一些 开始,并做一些 开始,并做一些 开始,并做一些 linphone linphone linphone linphone 帐号密码的登录操作同时引导用户进行环境变 帐号密码的登录操作同时引导用户进行环境变 帐号密码的登录操作同时引导用户进行环境变 帐号密码的登录操作同时引导用户进行环境变 帐号密码的登录操作同时引导用户进行环境变 帐号密码的登录操作同时引导用户进行环境变 帐号密码的登录操作同时引导用户进行环境变 帐号密码的登录操作同时引导用户进行环境变 帐号密码的登录操作同时引导用户进行环境变 帐号密码的登录操作同时引导用户进行环境变 量的设置( 量的设置( LinphonePreferencesActivity LinphonePreferencesActivity LinphonePreferencesActivityLinphonePreferencesActivity LinphonePreferencesActivityLinphonePreferencesActivityLinphonePreferencesActivityLinphonePreferencesActivity LinphonePreferencesActivity LinphonePreferencesActivity LinphonePreferencesActivity LinphonePreferencesActivity)。 环境变量都储存在 环境变量都储存在 环境变量都储存在 环境变量都储存在 sharedPreferencessharedPreferences sharedPreferencessharedPreferences sharedPreferencessharedPreferencessharedPreferencessharedPreferences sharedPreferences 中,它是整个工程共享的一变量池。这些环境有 中,它是整个工程共享的一变量池。这些环境有 中,它是整个工程共享的一变量池。这些环境有 中,它是整个工程共享的一变量池。这些环境有 中,它是整个工程共享的一变量池。这些环境有 中,它是整个工程共享的一变量池。这些环境有 中,它是整个工程共享的一变量池。这些环境有 中,它是整个工程共享的一变量池。这些环境有 中,它是整个工程共享的一变量池。这些环境有 中,它是整个工程共享的一变量池。这些环境有 中,它是整个工程共享的一变量池。这些环境有 中,它是整个工程共享的一变量池。这些环境有 中,它是整个工程共享的一变量池。这些环境有 中,它是整个工程共享的一变量池。这些环境有 音频和视编码设置选择,帐号密服务器自动启回校正网络 音频和视编码设置选择,帐号密服务器自动启回校正网络 音频和视编码设置选择,帐号密服务器自动启回校正网络 音频和视编码设置选择,帐号密服务器自动启回校正网络 音频和视编码设置选择,帐号密服务器自动启回校正网络 音频和视编码设置选择,帐号密服务器自动启回校正网络 音频和视编码设置选择,帐号密服务器自动启回校正网络 音频和视编码设置选择,帐号密服务器自动启回校正网络 音频和视编码设置选择,帐号密服务器自动启回校正网络 音频和视编码设置选择,帐号密服务器自动启回校正网络 音频和视编码设置选择,帐号密服务器自动启回校正网络 音频和视编码设置选择,帐号密服务器自动启回校正网络 音频和视编码设置选择,帐号密服务器自动启回校正网络 音频和视编码设置选择,帐号密服务器自动启回校正网络 音频和视编码设置选择,帐号密服务器自动启回校正网络 音频和视编码设置选择,帐号密服务器自动启回校正网络 音频和视编码设置选择,帐号密服务器自动启回校正网络 音频和视编码设置选择,帐号密服务器自

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值