我正在使用自定义相机在Android上录制视频。 遇到此问题的设备是带有Android 6.0.1的Nexus 5。
当相机仅为第二次完成录制时,我在引擎盖下的Android媒体AudioTrack类中获得以下异常。这是由android,FinalizerDaemon隐式调用的东西,而不是我直接执行的任何代码的结果。所以FinalizerDaemon在AudioTrack上调用finalize,并获得IllegalStateException。
12-02 09:20:23.155 23705-23714/social.ivideo.greetings E/System: Uncaught exception thrown by finalizer
12-02 09:20:23.160 23705-23714/social.ivideo.greetings E/System: java.lang.IllegalStateException: Binder has been finalized!
at android.os.BinderProxy.transactNative(Native Method)
at android.os.BinderProxy.transact(Binder.java:615)
at com.android.internal.app.IAppOpsService$Stub$Proxy.stopWatchingMode(IAppOpsService.java:435)
at android.media.PlayerBase.baseRelease(PlayerBase.java:136)
at android.media.AudioTrack.finalize(AudioTrack.java:979)
at java.lang.Daemons$FinalizerDaemon.doFinalize(Daemons.java:222)
at java.lang.Daemons$FinalizerDaemon.run(Daemons.java:209)
at java.lang.Thread.run(Thread.java:761)
当相机完成录制时,我可能需要做一些清理工作吗?这是我在录制停止时使用的当前代码:
@Override
public void stopRecording(boolean wasCancelled, float duration) {
if (mMediaRecorder != null) {
mMediaRecorder.stop();
mMediaRecorder.reset();
if (flashState) {
toggleFlash();
}
if (!wasCancelled) {
callbacks.onFinishedRecording(null, mediaPath, duration, wasCancelled);
}
}
}
mMediaRecorder是MediaRecorder类的一个实例。
有什么建议吗?
答案 0 :(得分:0)
所以我认为这可能是Android错误。可疑地看起来像这个问题,在“未来版本”中标记为已修复:https://issuetracker.google.com/issues/37138597
在Android 7.1.2中报告的同一问题
中修复