E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.anstrontechnologies.videocompressor, PID: 21291
java.lang.NoClassDefFoundError: Failed resolution of: Lcom/googlecode/mp4parser/util/Matrix;
at com.iceteck.silicompressorr.videocompression.Mp4Movie.(Mp4Movie.java:22)
at com.iceteck.silicompressorr.videocompression.MediaController.convertVideo(MediaController.java:386)
at com.iceteck.silicompressorr.videocompression.MediaController.convertVideo(MediaController.java:294)
at com.iceteck.silicompressorr.SiliCompressor.compressVideo(SiliCompressor.java:216)
at com.iceteck.silicompressorr.SiliCompressor.compressVideo(SiliCompressor.java:178)
at com.anstrontechnologies.videocompressor.MainActivity.compressVideoFile(MainActivity.kt:73)
at com.anstrontechnologies.videocompressor.MainActivity.access$compressVideoFile(MainActivity.kt:20)
at com.anstrontechnologies.videocompressor.MainActivity$onCreate$2.onClick(MainActivity.kt:54)
at android.view.View.performClick(View.java:5619)
at android.view.View$PerformClick.run(View.java:22298)
at android.os.Handler.handleCallback(Handler.java:754)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:165)
at android.app.ActivityThread.main(ActivityThread.java:6375)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:912)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:802)
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.googlecode.mp4parser.util.Matrix" on path: DexPathList[[zip file "/data/app/com.anstrontechnologies.videocompressor-1/base.apk"],nativeLibraryDirectories=[/data/app/com.anstrontechnologies.videocompressor-1/lib/arm64, /system/lib64, /vendor/lib64]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:74)
at java.lang.ClassLoader.loadClass(ClassLoader.java:380)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
at com.iceteck.silicompressorr.videocompression.Mp4Movie.(Mp4Movie.java:22)
at com.iceteck.silicompressorr.videocompression.MediaController.convertVideo(MediaController.java:386)
at com.iceteck.silicompressorr.videocompression.MediaController.convertVideo(MediaController.java:294)
at com.iceteck.silicompressorr.SiliCompressor.compressVideo(SiliCompressor.java:216)
at com.iceteck.silicompressorr.SiliCompressor.compressVideo(SiliCompressor.java:178)
at com.anstrontechnologies.videocompressor.MainActivity.compressVideoFile(MainActivity.kt:73)
at com.anstrontechnologies.videocompressor.MainActivity.access$compressVideoFile(MainActivity.kt:20)
at com.anstrontechnologies.videocompressor.MainActivity$onCreate$2.onClick(MainActivity.kt:54)
at android.view.View.performClick(View.java:5619)
at android.view.View$PerformClick.run(View.java:22298)
at android.os.Handler.handleCallback(Handler.java:754)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:165)
at android.app.ActivityThread.main(ActivityThread.java:6375)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:912)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:802)
You need to add implementation 'com.googlecode.mp4parser:isoparser:1.1.22'
I added implementation 'com.googlecode.mp4parser:isoparser:1.1.22'.
It gives this error: Surface frame wait timed out.
Please if someone can help. Thank you!
Upgrading from 2.2.3 to 2.2.4 has helped in my case.
implementation 'com.googlecode.mp4parser:isoparser:1.1.22'
This needs to be stated in the documentation
I added implementation 'com.googlecode.mp4parser:isoparser:1.1.22'.
It gives this error: Surface frame wait timed out.
Please if someone can help. Thank you!
This is because the compression is being executed on the Main Thread. Use Async Task or Kotlin Coroutines to handle this.
Surface frame wait timed out 是因为在主线程运行导致的