[我在stackoverflow上找到了下面的链接,但它不符合我的要求。我正在尝试通过向用户展示一个自定义画廊来附加视频,其中显示了存储在 sdcard 中的所有视频,并且用户必须选择其中的任意数量,最后在按下附加按钮后视频被合并/附加,它在许多情况下都可以正常工作案例,但在某些情况下失败了不理解这个错误以及如何解决它。上面的链接用于为从应用程序本身录制的视频设置VideoCodec,我没有这样做。如何更改已经可用的 mp4 视频的视频编解码器?
这是我在附加时遇到的日志错误。我还打印了示例框描述条目以从中获得帮助,但无济于事,我可以看到示例框描述条目是相同的,并且没有 Isoparser 库的文档可以帮帮我。我正在使用isoparser-1.0-RC-2.jar
,aspectjrt-1.8.0.jar
因为最新的 isoparser 库对我不起作用:-(
java-io-ioexception-cannot-append-mp4trackimplhandler-vide-to-mp4trackimpl
09-03 11:53:43.390: I/MERGE_VIDEO_ACTIVITY(28345): SampleDescriptionBox[AudioSampleEntry]
09-03 11:53:43.390: I/MERGE_VIDEO_ACTIVITY(28345): SampleDescriptionBox[com.coremedia.iso.boxes.sampleentry.VisualSampleEntry@42118240]
09-03 11:53:43.390: I/MERGE_VIDEO_ACTIVITY(28345): SampleDescriptionBox[AudioSampleEntry]
09-03 11:53:43.390: I/MERGE_VIDEO_ACTIVITY(28345): SampleDescriptionBox[com.coremedia.iso.boxes.sampleentry.VisualSampleEntry@41f08c60]
09-03 11:53:43.400: W/System.err(28345): java.io.IOException: Cannot append com.googlecode.mp4parser.authoring.Mp4TrackImpl@42008d78 to com.googlecode.mp4parser.authoring.Mp4TrackImpl@41ef5d90 since their Sample Description Boxes differ
09-03 11:53:43.400: W/System.err(28345): at com.googlecode.mp4parser.authoring.tracks.AppendTrack.<init>(AppendTrack.java:48)
09-03 11:53:43.400: W/System.err(28345): at com.spec.videoeditingdemo.service.asynctasks.MergeVideos.doInBackground(MergeVideos.java:113)
09-03 11:53:43.400: W/System.err(28345): at com.spec.videoeditingdemo.service.asynctasks.MergeVideos.doInBackground(MergeVideos.java:1)
09-03 11:53:43.400: W/System.err(28345): at android.os.AsyncTask$2.call(AsyncTask.java:288)
09-03 11:53:43.400: W/System.err(28345): at java.util.concurrent.FutureTask.run(FutureTask.java:237)
09-03 11:53:43.400: W/System.err(28345): at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
09-03 11:53:43.400: W/System.err(28345): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
09-03 11:53:43.400: W/System.err(28345): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
09-03 11:53:43.400: W/System.err(28345): at java.lang.Thread.run(Thread.java:841)
-提前致谢。如果有人可以帮助我解决这个问题,我会很高兴。