diff --git a/build.gradle b/build.gradle index 549c738e..0aa7b6df 100644 --- a/build.gradle +++ b/build.gradle @@ -7,7 +7,7 @@ buildscript { } dependencies { - classpath 'com.android.tools.build:gradle:3.0.0-beta4' + classpath 'com.android.tools.build:gradle:2.3.3' // https://inthecheesefactory.com/blog/how-to-upload-library-to-jcenter-maven-central-as-dependency/en // https://www.theguardian.com/technology/developer-blog/2016/dec/06/how-to-publish-an-android-library-a-mysterious-conversation classpath 'com.github.dcendents:android-maven-gradle-plugin:1.5' diff --git a/cameraview/src/main/java/com/otaliastudios/cameraview/Camera1.java b/cameraview/src/main/java/com/otaliastudios/cameraview/Camera1.java index b48e299f..61883a10 100644 --- a/cameraview/src/main/java/com/otaliastudios/cameraview/Camera1.java +++ b/cameraview/src/main/java/com/otaliastudios/cameraview/Camera1.java @@ -294,10 +294,12 @@ class Camera1 extends CameraController { @Override void setAudio(Audio audio) { - if (mIsCapturingVideo) { - throw new IllegalStateException("Can't change audio while recording a video."); + if (mAudio != audio) { + if (mIsCapturingVideo) { + LOG.w("Changing audio mode while recording. Changes will take place starting from next video"); + } + mAudio = audio; } - mAudio = audio; } @Override @@ -606,7 +608,7 @@ class Camera1 extends CameraController { if (mAudio == Audio.ON) { mMediaRecorder.setAudioSource(MediaRecorder.AudioSource.CAMCORDER); mMediaRecorder.setProfile(profile); - }else{ + } else { // Set all values contained in profile except audio settings mMediaRecorder.setOutputFormat(profile.fileFormat); mMediaRecorder.setVideoEncoder(profile.videoCodec);