Isvisoft / flutter_screen_recording

A new Flutter plugin for record the screen.
MIT License
142 stars 138 forks source link

App crash when start recording #70

Closed Giacomo1993 closed 1 year ago

Giacomo1993 commented 2 years ago

HI @salime45, I'm using this plugin just now for a demo application. Device: Samsung A50 OS: Android 11

The app crash when screen recording starts....

these are the logs:

I/flutter (22172): Foreground on Started I/MediaRecorderJNI(22172): setup I/System.out(22172): Scaled Density I/System.out(22172): 2.625 I/System.out(22172): Original Resolution I/System.out(22172): 1080 x 2131 I/System.out(22172): Calcule Resolution I/System.out(22172): 648 x 1280 I/MediaRecorderJNI(22172): setVideoSource(2) I/MediaRecorderJNI(22172): setVideoSize(648, 1280) I/MediaRecorderJNI(22172): setVideoEncoder(2) I/MediaRecorderJNI(22172): setParameter() I/MediaRecorderJNI(22172): setVideoFrameRate(60) I/System.out(22172): Error startRecordScreen I/ViewRootImpl@db76aa5MainActivity: MSG_WINDOW_FOCUS_CHANGED 0 1 I/SurfaceControl(22172): release : mNativeObject = 503281631584 - Surface(name=Surface(name=67782ec InputMethod)/@0x7cfe1d8 - animation-leash)/@0x80d66ce / android.view.-$$Lambda$Rl1VZmNJ0VZDLK0BAbaVGis0rrA.accept:2 android.view.InsetsSourceControl.release:170 android.view.InsetsSourceConsumer.setControl:202 android.view.ImeInsetsSourceConsumer.setControl:154 I/SurfaceControl(22172): nativeRelease nativeObject s[503281631584] I/SurfaceControl(22172): nativeRelease nativeObject e[503281631584] I/SurfaceControl(22172): release : mNativeObject = 503281631488 - Surface(name=Surface(name=89b8b95 NavigationBar0)/@0x45845bc - animation-leash)/@0x45bb9ef / android.view.-$$Lambda$Rl1VZmNJ0VZDLK0BAbaVGis0rrA.accept:2 android.view.InsetsSourceControl.release:170 android.view.InsetsSourceConsumer.setControl:202 android.view.InsetsController.onControlsChanged:833 I/SurfaceControl(22172): nativeRelease nativeObject s[503281631488] I/SurfaceControl(22172): nativeRelease nativeObject e[503281631488] I/SurfaceControl(22172): release : mNativeObject = 503427302304 - Surface(name=Surface(name=43ff80 StatusBar)/@0x503f763 - animation-leash)/@0xb8f2cfc / android.view.-$$Lambda$Rl1VZmNJ0VZDLK0BAbaVGis0rrA.accept:2 android.view.InsetsSourceControl.release:170 android.view.InsetsSourceConsumer.setControl:202 android.view.InsetsController.onControlsChanged:833 I/SurfaceControl(22172): nativeRelease nativeObject s[503427302304] I/SurfaceControl(22172): nativeRelease nativeObject e[503427302304] I/MediaRecorderJNI(22172): getSurface E/MediaRecorder(22172): SurfaceMediaSource could not be initialized! D/AndroidRuntime(22172): Shutting down VM E/AndroidRuntime(22172): FATAL EXCEPTION: main E/AndroidRuntime(22172): Process: com.example.flutter_app_recording, PID: 22172 E/AndroidRuntime(22172): java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=333, result=-1, data=Intent { (has extras) }} to activity {com.example.flutter_app_recording/com.example.flutter_app_recording.MainActivity}: java.lang.IllegalStateException: failed to get surface E/AndroidRuntime(22172): at android.app.ActivityThread.deliverResults(ActivityThread.java:5506) E/AndroidRuntime(22172): at android.app.ActivityThread.handleSendResult(ActivityThread.java:5547) E/AndroidRuntime(22172): at android.app.servertransaction.ActivityResultItem.execute(ActivityResultItem.java:51) E/AndroidRuntime(22172): at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135) E/AndroidRuntime(22172): at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95) E/AndroidRuntime(22172): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2307) E/AndroidRuntime(22172): at android.os.Handler.dispatchMessage(Handler.java:106) E/AndroidRuntime(22172): at android.os.Looper.loop(Looper.java:246) E/AndroidRuntime(22172): at android.app.ActivityThread.main(ActivityThread.java:8512) E/AndroidRuntime(22172): at java.lang.reflect.Method.invoke(Native Method) E/AndroidRuntime(22172): at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:602) E/AndroidRuntime(22172): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1130) E/AndroidRuntime(22172): Caused by: java.lang.IllegalStateException: failed to get surface E/AndroidRuntime(22172): at android.media.MediaRecorder.getSurface(Native Method) E/AndroidRuntime(22172): at com.isvisoft.flutter_screen_recording.FlutterScreenRecordingPlugin.createVirtualDisplay(FlutterScreenRecordingPlugin.kt:193) E/AndroidRuntime(22172): at com.isvisoft.flutter_screen_recording.FlutterScreenRecordingPlugin.onActivityResult(FlutterScreenRecordingPlugin.kt:65) E/AndroidRuntime(22172): at io.flutter.embedding.engine.FlutterEngineConnectionRegistry$FlutterEngineActivityPluginBinding.onActivityResult(FlutterEngineConnectionRegistry.java:739) E/AndroidRuntime(22172): at io.flutter.embedding.engine.FlutterEngineConnectionRegistry.onActivityResult(FlutterEngineConnectionRegistry.java:426) E/AndroidRuntime(22172): at io.flutter.embedding.android.FlutterActivityAndFragmentDelegate.onActivityResult(FlutterActivityAndFragmentDelegate.java:677) E/AndroidRuntime(22172): at io.flutter.embedding.android.FlutterActivity.onActivityResult(FlutterActivity.java:624) E/AndroidRuntime(22172): at android.app.Activity.dispatchActivityResult(Activity.java:8541) E/AndroidRuntime(22172): at android.app.ActivityThread.deliverResults(ActivityThread.java:5499) E/AndroidRuntime(22172): ... 11 more

Could you please help me?

Thank you in advance! @mikron123 @vvalladolidIV

deepak-ariceum commented 2 years ago

Use this instead https://github.com/endmr11/ed_screen_recorder

salime45 commented 1 year ago

Fix