fix: 增加1秒2拍功能

This commit is contained in:
xiaoyan 2022-07-13 10:30:14 +08:00
parent eda74677d4
commit dd9144aa32
3 changed files with 43 additions and 12 deletions

View File

@ -9,8 +9,8 @@ android {
applicationId "com.navinfo.outdoor"
minSdkVersion 22
targetSdkVersion 30
versionCode 22
versionName "8.220615"
versionCode 23
versionName "8.220617"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
lintOptions {

View File

@ -56,6 +56,10 @@ import com.otaliastudios.cameraview.CameraView;
import com.otaliastudios.cameraview.FileCallback;
import com.otaliastudios.cameraview.PictureResult;
import com.otaliastudios.cameraview.controls.Mode;
import com.otaliastudios.cameraview.size.AspectRatio;
import com.otaliastudios.cameraview.size.Size;
import com.otaliastudios.cameraview.size.SizeSelector;
import com.otaliastudios.cameraview.size.SizeSelectors;
import com.tencent.map.geolocation.TencentLocation;
import com.tencent.tencentmap.mapsdk.maps.CameraUpdate;
import com.tencent.tencentmap.mapsdk.maps.CameraUpdateFactory;
@ -311,7 +315,7 @@ public class PicturesActivity extends BaseActivity implements View.OnClickListen
public void onPictureTaken(@NonNull PictureResult result) {
if (result != null && result.getData() != null && result.getData().length > 0) {
super.onPictureTaken(result);
System.out.println("收到拍照按钮jieguo");
System.out.println("收到拍照按钮jieguo:"+result.getSize().toString());
isBack = true;
// 如果当前手机是竖向则不
if (isOration) {
@ -563,6 +567,7 @@ public class PicturesActivity extends BaseActivity implements View.OnClickListen
picturesBuilder.append("userId:").append(Constant.USHERED).append(",");
}
camera.setMode(Mode.PICTURE);
initCameraSize();
}
@Override
@ -717,6 +722,41 @@ public class PicturesActivity extends BaseActivity implements View.OnClickListen
tvMapView.onResume();
}
/**
* 设置相机的拍照size
* */
private void initCameraSize() {
SizeSelector maxWidth = SizeSelectors.maxWidth(1280);
SizeSelector maxHeight = SizeSelectors.maxHeight(1280);
SizeSelector minWidth = SizeSelectors.minWidth(720);
SizeSelector minHeight = SizeSelectors.minHeight(720);
SizeSelector maxDimensions = SizeSelectors.and(maxWidth, maxHeight); // Matches sizes bigger than 1000x2000.
SizeSelector minDimensions = SizeSelectors.and(minWidth, minHeight); // Matches sizes bigger than 1000x2000.
SizeSelector verticalRatio = SizeSelectors.aspectRatio(AspectRatio.of(720, 1280), 0.2f); // Matches 1:1 sizes.
SizeSelector horzentalRatio = SizeSelectors.aspectRatio(AspectRatio.of(1280, 720), 0.2f); // Matches 1:1 sizes.
SizeSelector result = SizeSelectors.or(
SizeSelectors.and(verticalRatio, maxDimensions, minDimensions), // Try to match both constraints
SizeSelectors.and(horzentalRatio, maxDimensions, minDimensions), // Try to match both constraints
verticalRatio, // If none is found, at least try to match the aspect ratio
horzentalRatio, // If none is found, at least try to match the aspect ratio
SizeSelectors.biggest() // If none is found, take the biggest
);
camera.setPictureSize(result);
camera.setPreviewStreamSize(result);
/**
* app:cameraPictureSizeAspectRatio="1920:1080"
* app:cameraPictureSizeBiggest="true"
* app:cameraPictureSizeMaxArea="3686400"
* app:cameraPictureSizeMaxHeight="1920"
* app:cameraPictureSizeMaxWidth="1920"
* app:cameraPictureSizeMinArea="1166400"
* app:cameraPictureSizeMinHeight="1080"
* app:cameraPictureSizeMinWidth="1080"
* app:cameraPictureSizeSmallest="true"
* */
}
@Override
protected void onRestart() {
super.onRestart();

View File

@ -23,15 +23,6 @@
android:keepScreenOn="true"
app:cameraPictureFormat="jpeg"
app:cameraPictureMetering="true"
app:cameraPictureSizeAspectRatio="1920:1080"
app:cameraPictureSizeBiggest="true"
app:cameraPictureSizeMaxArea="3686400"
app:cameraPictureSizeMaxHeight="1920"
app:cameraPictureSizeMaxWidth="1920"
app:cameraPictureSizeMinArea="1166400"
app:cameraPictureSizeMinHeight="1080"
app:cameraPictureSizeMinWidth="1080"
app:cameraPictureSizeSmallest="true"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"