diff options
Diffstat (limited to 'src/com/android/camera/VideoModule.java')
-rwxr-xr-x[-rw-r--r--] | src/com/android/camera/VideoModule.java | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/src/com/android/camera/VideoModule.java b/src/com/android/camera/VideoModule.java index bdfc78b79..71b45666b 100644..100755 --- a/src/com/android/camera/VideoModule.java +++ b/src/com/android/camera/VideoModule.java @@ -79,6 +79,7 @@ import java.util.Date; import java.util.Iterator; import java.util.List; import java.util.HashMap; +import java.lang.reflect.Method; public class VideoModule implements CameraModule, VideoController, @@ -106,6 +107,9 @@ public class VideoModule implements CameraModule, private static final long SHUTTER_BUTTON_TIMEOUT = 0L; // 0ms + public static final boolean HAS_RESUME_SUPPORTED = + Build.VERSION.SDK_INT > Build.VERSION_CODES.M; + /** * An unpublished intent flag requesting to start recording straight away * and return as soon as recording is stopped. @@ -2053,7 +2057,16 @@ public class VideoModule implements CameraModule, mMediaRecorderPausing = false; mRecordingStartTime = SystemClock.uptimeMillis(); updateRecordingTime(); - mMediaRecorder.start(); + if (!HAS_RESUME_SUPPORTED){ + mMediaRecorder.start(); + } else { + try { + Method resumeRec = Class.forName("android.media.MediaRecorder").getMethod("resume"); + resumeRec.invoke(mMediaRecorder); + } catch (Exception e) { + Log.v(TAG, "resume method not implemented"); + } + } } private boolean stopVideoRecording() { |