2016-12-25 67 views
4

我必须从库中上传视频到VideoView。但我想获得视频的字节大小。请帮帮我 !! 这是我的代码:Android从画廊获取视频的文件大小

protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     Intent intent=new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI); 
        intent.setType("video/*"); 
        startActivityForResult(intent,1); 
} 
      @Override 
      protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
       if(requestCode==1&&resultCode== Activity.RESULT_OK){ 
        try{ 
         String path=data.getData().toString(); 
         videoView.setVideoPath(path); 
         videoView.requestFocus(); 
         videoView.start(); 
         } 
        catch (Exception ex){ 
         ex.printStackTrace(); 
        } 
       } 
      } 

回答

3

你只需要创建一个新的文件对象,如...

String filepath = Environment.getExternalStorageDirectory() + "/file.mp4"; 
    File file = new File(filepath); 
    long length = file.length(); 
    length = length/1024; 
    Toast.makeText(getActivity(), "Video size:"+length+"KB", 
    Toast.LENGTH_LONG).show(); 

这是该文件的大小,而不是像

+0

不适用于视频eith呃.. –

0

拥有一个URI,你可以这样做:

String[] mediaColumns = {MediaStore.Video.Media.SIZE}; 
Cursor cursor = getContext().getContentResolver().query(videoUri, mediaColumns, null, null, null); 
cursor.moveToFirst(); 
int sizeColInd = cursor.getColumnIndex(mediaColumns[0]); 
long fileSize = cursor.getLong(sizeColInd); 
cursor.close();