Bläddra i källkod

update: 回退mp4parser版本

hwh97 5 år sedan
förälder
incheckning
030dc8be91

+ 1 - 1
android/build.gradle

@@ -47,6 +47,6 @@ android {
 dependencies {
     implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
     compileOnly  files('libs/flutter.jar')
-    implementation 'com.googlecode.mp4parser:isoparser:1.1.22'
+    implementation 'com.googlecode.mp4parser:isoparser:1.0-RC-37'
     implementation 'com.alibaba:fastjson:1.1.71.android'
 }

+ 13 - 12
android/src/main/kotlin/cn/i2edu/dubbing_lib/DubbingLibPlugin.kt

@@ -74,21 +74,22 @@ class DubbingLibPlugin : MethodCallHandler {
             "mixinVideoAndAudio" -> {
                 try {
                     val resultPath = call.argument<String>("resultPath")!!
-                    val videoAudioMixer = VideoAudioMixer(activity.applicationContext)
-                    videoAudioMixer.setListener(object : VideoAudioMixer.VideoAudioMixListener {
-                        override fun mixSuccess() {
-                            activity.runOnUiThread {
-                                result.success(resultPath)
+                    pausableThreadPool.execute {
+                        val videoAudioMixer = Mp4ParserMixer(activity.applicationContext)
+                        videoAudioMixer.setListener(object : Mp4ParserMixer.VideoAudioMixListener {
+                            override fun mixSuccess() {
+                                activity.runOnUiThread {
+                                    result.success(resultPath)
+                                }
                             }
-                        }
 
-                        override fun mixFail(reason: String?) {
-                            activity.runOnUiThread {
-                                result.error("1005", "error: $reason", null)
+                            override fun mixFail(reason: String?) {
+                                activity.runOnUiThread {
+                                    result.error("1005", "error: $reason", null)
+                                }
                             }
-                        }
-                    })
-                    pausableThreadPool.execute {
+                        })
+
                         videoAudioMixer.muxAudioAndVideo(
                                 call.argument<String>("bgmPath")!!,
                                 call.argument<String>("videoPath")!!,

+ 1 - 0
android/src/main/kotlin/cn/i2edu/dubbing_lib/util/VideoAudioMixer.java

@@ -120,6 +120,7 @@ public class VideoAudioMixer {
             mMediaMuxer.stop();
             mMediaMuxer.release();
         } catch (Exception e) {
+            e.printStackTrace();
             if (mListener != null) {
                 mListener.mixFail(e.toString());
             }