From 51e977ecf8b086b5402271486fb87c2f57d641f2 Mon Sep 17 00:00:00 2001 From: zuoxiao <470321431@qq.com> Date: 星期四, 02 一月 2025 09:23:24 +0800 Subject: [PATCH] 添加视频上传的部分功能 --- app/src/main/java/com/dayu/pipirrapp/activity/AddIssueActivity.java | 29 ++++++++++++++++++++--------- 1 files changed, 20 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/com/dayu/pipirrapp/activity/AddIssueActivity.java b/app/src/main/java/com/dayu/pipirrapp/activity/AddIssueActivity.java index 8c3fa36..d56f0b0 100644 --- a/app/src/main/java/com/dayu/pipirrapp/activity/AddIssueActivity.java +++ b/app/src/main/java/com/dayu/pipirrapp/activity/AddIssueActivity.java @@ -75,7 +75,9 @@ RecyclerView mRecyclerView; AddPictureAdapter mAdapter; int maxSelectNum = 10;//鏈�澶х収鐗� - int maxSelectVideoNum = 0;//鏈�澶ц棰� + int maxSelectVideoNum = 3;//鏈�澶ц棰� + + int videoMaxSecond = 60; private final List<LocalMedia> mData = new ArrayList<>(); private ActivityResultLauncher<Intent> launcherResult; private ImageEngine imageEngine; @@ -151,7 +153,7 @@ if (!TextUtils.isEmpty(binding.contentET.getText().toString())) { if (isAllPost) { - if (uplodFileStates.size() > 0) { + if (!uplodFileStates.isEmpty()) { postData(); } else { ToastUtil.showToast(AddIssueActivity.this, "璇蜂笂浼犲浘鐗�"); @@ -171,12 +173,20 @@ private void mOpenPicture() { // 杩涘叆鐩稿唽 PictureSelectionModel selectionModel = PictureSelector.create(this) - .openGallery(SelectMimeType.ofImage()) + .openGallery(SelectMimeType.ofAll()) .setMaxSelectNum(maxSelectNum) .setMaxVideoSelectNum(maxSelectVideoNum) .setImageEngine(imageEngine) //璁剧疆鍥剧墖鍘嬬缉 .setCompressEngine(new ImageFileCompressEngine()) + //璁剧疆瑙嗛鍥剧墖涓�璧峰湪鐩稿唽閫夋嫨 + .isWithSelectVideoImage(true) + //璁剧疆鏈�澶ц棰戞椂闀� + .setRecordVideoMaxSecond(videoMaxSecond) + // 杩囨护瑙嗛鏈�澶ф椂闀� + .setFilterVideoMaxSecond(videoMaxSecond) + // 鎷嶇収鏄惁绾犳鏃嬭浆鍥剧墖 + .isCameraRotateImage(true) .setSelectedData(mAdapter.getData()); selectionModel.forResult(launcherResult); @@ -262,6 +272,9 @@ Log.i(TAG, "鏂囦欢鏃堕暱: " + media.getDuration()); String compressPath = media.getCompressPath(); //鍒ゆ柇鏄惁鏈夎繖涓矾寰勶紝娌℃湁鐨勮瘽涓婁紶璇ュ浘鐗囧苟娣诲姞uplodFileStates涓� + if (TextUtils.isEmpty(compressPath)) { + compressPath = media.getRealPath(); + } if (!existingPaths.contains(compressPath)) { UplodFileState uplodFileState = new UplodFileState(); uplodFileState.setFilePath(compressPath); @@ -305,12 +318,10 @@ //涓婁紶鍥剧墖 private void uplodeImg(UplodFileState uplodFileState) { - ApiManager.getInstance().uploadFile(this, uplodFileState, new UploadFileListener() { - @Override - public void onBack(UplodFileState state) { - uplodFileStates.replace(state.getFilePath(), state); - mAdapter.updateProgress(uplodFileState); - } + ApiManager.getInstance().uploadFile(this, uplodFileState, state -> { + + uplodFileStates.replace(state.getFilePath(), state); + mAdapter.updateProgress(uplodFileState); }, mAdapter); } -- Gitblit v1.8.0