Skip to content

Commit

Permalink
Merge pull request #393 from jinanzhuan/sdk3.0
Browse files Browse the repository at this point in the history
add logic to parse video path by Uri.
  • Loading branch information
jinanzhuan committed Jun 15, 2020
2 parents fa2b39f + 534ca88 commit a591c3d
Showing 1 changed file with 41 additions and 7 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -348,14 +348,48 @@ public void onActivityResult(int requestCode, int resultCode, Intent data) {
if(requestCode==100) {
Uri uri = data.getParcelableExtra("uri");
if(uri != null) {
String filePath = UriUtils.getFilePath(uri);
int duration = UriUtils.getVideoOrAudioDuration(getActivity(), uri);
EMLog.d(TAG, "duration = "+duration);

if(!VersionUtils.isTargetQ(getContext()) && !TextUtils.isEmpty(filePath)) {
getActivity().setResult(Activity.RESULT_OK, getActivity().getIntent().putExtra("path", filePath).putExtra("dur", duration));
if(!VersionUtils.isTargetQ(getContext())) {
String[] projects = new String[] { MediaStore.Video.Media.DATA,
MediaStore.Video.Media.DURATION };
Cursor cursor = getActivity().getContentResolver().query(
uri, projects, null,
null, null);
int duration=0;
String filePath=null;

if (cursor.moveToFirst()) {
// path:MediaStore.Audio.Media.DATA
filePath = cursor.getString(cursor
.getColumnIndexOrThrow(MediaStore.Video.Media.DATA));
// duration:MediaStore.Audio.Media.DURATION
duration = cursor
.getInt(cursor
.getColumnIndexOrThrow(MediaStore.Video.Media.DURATION));
EMLog.d(TAG, "duration:"+duration);
}
if(cursor!=null)
{
cursor.close();
cursor=null;
}
if(duration == 0) {
duration = UriUtils.getVideoOrAudioDuration(getActivity(), uri);
}
if(!TextUtils.isEmpty(filePath)) {
getActivity().setResult(Activity.RESULT_OK, getActivity().getIntent().putExtra("path", filePath).putExtra("dur", duration));
}else {
getActivity().setResult(Activity.RESULT_OK, getActivity().getIntent().putExtra("uri", uri.toString()).putExtra("dur", duration));
}
}else {
getActivity().setResult(Activity.RESULT_OK, getActivity().getIntent().putExtra("uri", uri.toString()).putExtra("dur", duration));
String filePath = UriUtils.getFilePath(getActivity(), uri);
int duration = UriUtils.getVideoOrAudioDuration(getActivity(), uri);
EMLog.d(TAG, "duration = "+duration);

if(!VersionUtils.isTargetQ(getContext()) && !TextUtils.isEmpty(filePath)) {
getActivity().setResult(Activity.RESULT_OK, getActivity().getIntent().putExtra("path", filePath).putExtra("dur", duration));
}else {
getActivity().setResult(Activity.RESULT_OK, getActivity().getIntent().putExtra("uri", uri.toString()).putExtra("dur", duration));
}
}

}else {
Expand Down

0 comments on commit a591c3d

Please sign in to comment.