From f8f38028baa05915eb1fd8eb4a6223e300eee81f Mon Sep 17 00:00:00 2001 From: HBiSoft Date: Tue, 16 Jun 2020 14:15:02 +0200 Subject: [PATCH] Added setOrientationHint --- .../src/main/java/com/hbisoft/hbrecorder/HBRecorder.java | 6 ++++++ .../java/com/hbisoft/hbrecorder/ScreenRecordService.java | 7 +++++++ 2 files changed, 13 insertions(+) diff --git a/hbrecorder/src/main/java/com/hbisoft/hbrecorder/HBRecorder.java b/hbrecorder/src/main/java/com/hbisoft/hbrecorder/HBRecorder.java index c4c75cf..12f9fb6 100644 --- a/hbrecorder/src/main/java/com/hbisoft/hbrecorder/HBRecorder.java +++ b/hbrecorder/src/main/java/com/hbisoft/hbrecorder/HBRecorder.java @@ -53,6 +53,7 @@ public class HBRecorder implements MyListener { private int videoFrameRate = 30; private int videoBitrate = 40000000; private String outputFormat = "DEFAULT"; + private int orientation; @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP) public HBRecorder(Context context, HBRecorderListener listener) { @@ -61,6 +62,10 @@ public HBRecorder(Context context, HBRecorderListener listener) { setScreenDensity(); } + public void setOrientationHint(int orientationInDegrees){ + orientation = orientationInDegrees; + } + /*Set output path*/ public void setOutputPath(String path) { outputPath = path; @@ -220,6 +225,7 @@ private void startService(Intent data) { service.putExtra("quality", isVideoHDEnabled); service.putExtra("path", outputPath); service.putExtra("fileName", fileName); + service.putExtra("orientation", orientation); service.putExtra("audioBitrate", audioBitrate); service.putExtra("audioSamplingRate", audioSamplingRate); service.putExtra("notificationSmallBitmap", byteArray); diff --git a/hbrecorder/src/main/java/com/hbisoft/hbrecorder/ScreenRecordService.java b/hbrecorder/src/main/java/com/hbisoft/hbrecorder/ScreenRecordService.java index 237c640..76d73d0 100755 --- a/hbrecorder/src/main/java/com/hbisoft/hbrecorder/ScreenRecordService.java +++ b/hbrecorder/src/main/java/com/hbisoft/hbrecorder/ScreenRecordService.java @@ -64,6 +64,7 @@ public class ScreenRecordService extends Service { private int videoFrameRate; private int videoBitrate; private int outputFormatAsInt; + private int orientationHint; public final static String BUNDLED_LISTENER = "listener"; @@ -75,6 +76,7 @@ public int onStartCommand(final Intent intent, int flags, int startId) { String notificationTitle = intent.getStringExtra("notificationTitle"); String notificationDescription = intent.getStringExtra("notificationDescription"); String notificationButtonText = intent.getStringExtra("notificationButtonText"); + orientationHint = intent.getIntExtra("orientation", 400); mResultCode = intent.getIntExtra("code", -1); mResultData = intent.getParcelableExtra("data"); mScreenWidth = intent.getIntExtra("width", 0); @@ -383,6 +385,11 @@ private void initRecorder() throws Exception { } mMediaRecorder.setVideoSource(MediaRecorder.VideoSource.SURFACE); mMediaRecorder.setOutputFormat(outputFormatAsInt); + + if (orientationHint != 400){ + mMediaRecorder.setOrientationHint(orientationHint); + } + if (isAudioEnabled) { mMediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC); mMediaRecorder.setAudioEncodingBitRate(audioBitrate);