camera2录像时MediaRecorder调用stop方法会报
“E/MediaRecorder: stop failed: -1007
W/System.err: java.lang.RuntimeException: stop failed.”错误。
预览和录像session正常工作,MediaRecorder的start方法和初始化也正常,仅MediaRecorder的stop方法报错。权限确认已经动态申请,文件存放在与照相相同的目录下且相片能正常保存,录像文件文件名正常,有大小,但是无法解析查看。
修改预览与MediaRecorder对应尺寸一致,setonerrorlistener(null)等已确认无效
源码与问题解决的一些尝试已整理到,提前谢过各位解答。
https://blog.csdn.net/qq_42158560/article/details/117928675
附部分错误日志:
D/MediaRecorder: init: ====>path: /storage/emulated/0/DCIM/Camera/IMG_20210615181137318.mp4
I/MediaRecorderJNI: prepare: surface=0xd84fd800
I/OMXClient: IOmx service obtained
D/com.example.mycamera.view.VideoFragment: onStart: ====>create video session
I/Camera Model: myCreateCaptureSession: ====>Create Capture Session init
D/Camera Model: createCaptureSession: Surface(name=null)/@0x2859e7b
D/Camera Model: createCaptureSession: Surface(name=null)/@0xe7232c5
I/OMXClient: IOmx service obtained
I/Camera Model: onConfigured: ====>CreateCameraCaptureSession Successful
D/Camera Model: onConfigured: ====>start mediaRecorder
W/AudioTrack: createTrack_l(8195): AUDIO_OUTPUT_FLAG_FAST denied by server; frameCount 0 -> 26080
E/MediaRecorder: stop failed: -1007
W/System.err: java.lang.RuntimeException: stop failed.