diff --git a/README.md b/README.md index d198a24a..0cb560a5 100644 --- a/README.md +++ b/README.md @@ -595,6 +595,7 @@ Other APIs not mentioned above are provided, and are well documented and comment |`getPreviewSize()`|Returns the size of the preview surface. If CameraView was not constrained in its layout phase (e.g. it was `wrap_content`), this will return the same aspect ratio of CameraView.| |`getSnapshotSize()`|Returns `getPreviewSize()`, since a snapshot is a preview frame.| |`getPictureSize()`|Returns the size of the output picture. The aspect ratio is consistent with `getPreviewSize()`.| +|`setVideoMaxSize(long)`|Set a max file size (in bytes) for a video recording. There is no file size limit by default unless set by the user.| Take also a look at public methods in `CameraUtils`, `CameraOptions`, `ExtraProperties`. diff --git a/cameraview/src/main/java/com/otaliastudios/cameraview/CameraController.java b/cameraview/src/main/java/com/otaliastudios/cameraview/CameraController.java index cc56da38..b43c0425 100644 --- a/cameraview/src/main/java/com/otaliastudios/cameraview/CameraController.java +++ b/cameraview/src/main/java/com/otaliastudios/cameraview/CameraController.java @@ -386,7 +386,7 @@ abstract class CameraController implements return mPreviewSize; } - final boolean isRecordingVideo() { + final boolean isCapturingVideo() { return mIsCapturingVideo; } diff --git a/cameraview/src/main/java/com/otaliastudios/cameraview/CameraView.java b/cameraview/src/main/java/com/otaliastudios/cameraview/CameraView.java index 66a5c496..dca35bc7 100644 --- a/cameraview/src/main/java/com/otaliastudios/cameraview/CameraView.java +++ b/cameraview/src/main/java/com/otaliastudios/cameraview/CameraView.java @@ -144,6 +144,10 @@ public class CameraView extends FrameLayout { GestureAction pinchGesture = GestureAction.fromValue(a.getInteger(R.styleable.CameraView_cameraGesturePinch, GestureAction.DEFAULT_PINCH.value())); GestureAction scrollHorizontalGesture = GestureAction.fromValue(a.getInteger(R.styleable.CameraView_cameraGestureScrollHorizontal, GestureAction.DEFAULT_SCROLL_HORIZONTAL.value())); GestureAction scrollVerticalGesture = GestureAction.fromValue(a.getInteger(R.styleable.CameraView_cameraGestureScrollVertical, GestureAction.DEFAULT_SCROLL_VERTICAL.value())); + + //Get max size + float cameraVideoMaxSize = a.getFloat(R.styleable.CameraView_cameraVideoMaxSize, -1); + a.recycle(); // Components @@ -186,6 +190,11 @@ public class CameraView extends FrameLayout { mapGesture(Gesture.SCROLL_HORIZONTAL, scrollHorizontalGesture); mapGesture(Gesture.SCROLL_VERTICAL, scrollVerticalGesture); + //Set camera video maxSize + if(cameraVideoMaxSize > 0) { + setVideoMaxSize((long)cameraVideoMaxSize); + } + if (!isInEditMode()) { mOrientationHelper = new OrientationHelper(context, mCameraCallbacks); } @@ -1349,8 +1358,8 @@ public class CameraView extends FrameLayout { * Returns true if the camera is currently recording a video * @return boolean indicating if the camera is recording a video */ - public boolean isRecordingVideo(){ - return mCameraController.isRecordingVideo(); + public boolean isCapturingVideo(){ + return mCameraController.isCapturingVideo(); } //endregion diff --git a/cameraview/src/main/res/values/attrs.xml b/cameraview/src/main/res/values/attrs.xml index 07471631..d52abdd1 100644 --- a/cameraview/src/main/res/values/attrs.xml +++ b/cameraview/src/main/res/values/attrs.xml @@ -110,6 +110,8 @@ + +