我正在创建一个应用来录制视频而不使用默认录像机。 要使用MediaMuxer制作视频。音频和视频录制在不同的线程上完成。
当我停止录制时,应用随机崩溃,日志显示
MPEG4Writer(23890): There are no sync frames for video track
java.lang.IllegalStateException:无法停止复用器
12-24 15:26:36.736: E/AndroidRuntime(23890): FATAL EXCEPTION: TextureMovieEncoder
12-24 15:26:36.736: E/AndroidRuntime(23890): Process: com.example.cameradummy, PID: 23890
12-24 15:26:36.736: E/AndroidRuntime(23890): java.lang.IllegalStateException: Failed to stop the muxer
12-24 15:26:36.736: E/AndroidRuntime(23890): at android.media.MediaMuxer.nativeStop(Native Method)
12-24 15:26:36.736: E/AndroidRuntime(23890): at android.media.MediaMuxer.stop(MediaMuxer.java:226)
12-24 15:26:36.736: E/AndroidRuntime(23890): at com.example.cameradummy.VideoEncoderCore.closeMuxer(VideoEncoderCore.java:421)
当我尝试录制视频而不添加音轨时,它工作正常,但当音频和视频轨道都添加到复用器时,就会出现这个问题。
我指的是grafika cameracaptureactivity视频录制
我无法确定问题是否是由于线程或某些同步问题引起的。 有人可以帮我解决这个问题。