获取捕捉视频使用默认的摄像头的Andr​​oid视频路径 [英] Getting the video path of capture video using default camera in android

查看:114
本文介绍了获取捕捉视频使用默认的摄像头的Andr​​oid视频路径的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我声明弦乐selectedImagePath一个全局变量。在按一下按钮,我呼吁视频捕捉code

I am declaring a global variable for String selectedImagePath. On button click I am calling video capture code

Intent intent=new Intent("android.media.action.VIDEO_CAPTURE");
intent.putExtra("android.intent.extra.durationLimit", 120);  
startActivityForResult(intent, REQUEST_VIDEO_CAPTURED);

OnActivity结果我收到的视频路径             selectedImagePath = getPath(selectedImageUri);

OnActivity result I am getting video path selectedImagePath = getPath(selectedImageUri);

onActivityResult code 我得到的价值在这里正确

onActivityResult Code I am getting the value here properly

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
 // TODO Auto-generated method stub

 if(resultCode==RESULT_OK)
 {
  if(requestCode==REQUEST_VIDEO_CAPTURED)
  {
      Toast.makeText(VideoPostActivity.this, "Video Recorded", Toast.LENGTH_LONG).show();
      Uri selectedImageUri = data.getData();   

       selectedImagePath = getPath(selectedImageUri);

       System.out.println("selected image path"+selectedImagePath);

      /* imgPublishVideo.setEnabled(true);
          imgRecordVideo.setEnabled(false);*/





  }


 }
  if(resultCode == RESULT_CANCELED)
 {
 Toast.makeText(VideoPostActivity.this,  "Cancelled!",  Toast.LENGTH_LONG).show();

 }


 }

我没有得到的价值在这里

I am not getting value here

SetMyVideoPostAsyncTask myVideoPostAsyncTask=new SetMyVideoPostAsyncTask(VideoPostActivity.this,videoTitle,videoComment,selectedImagePath);
myVideoPostAsyncTask.execute();

public String getPath(Uri uri)
{       
        String[] projection = { MediaStore.Images.Media.DATA };        
        Cursor cursor = managedQuery(uri, projection, null, null, null);        
        if(cursor!=null)         
        {            

            int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);          
            cursor.moveToFirst();          
            return cursor.getString(column_index);       
            }       
        else 
            return null;    
}

但我不能够从活动传递selectedImagePath值,它是将空有谁能够告诉什么是问题?我该怎么办?

but I am not able to pass selectedImagePath value from activity it is going null can anybody tell what is problem? What do I do?

推荐答案

试试这个来代替:

private String videoPath = "";

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if(resultCode==RESULT_OK)
    {

      Uri vid = data.getData();
      videoPath = getRealPathFromURI(vid);
    }


}

public String getRealPathFromURI(Uri contentUri) {
    String[] proj = { MediaStore.Images.Media.DATA };
    Cursor cursor = managedQuery(contentUri, proj, null, null, null);
    int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
    cursor.moveToFirst();
    return cursor.getString(column_index);
}

这篇关于获取捕捉视频使用默认的摄像头的Andr​​oid视频路径的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆