2016-12-25 62 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();