我知道有很多类似的问题,但由于 JavaCV 等库的开发,其中很多似乎已经过时了。
我使用的代码来自在 Android 中使用图像和音频创建视频 https://stackoverflow.com/questions/23775173/video-creation-with-images-and-audio-in-android创建电影,但我在导入库时遇到问题。
我按照 JavaCV 页面所说的那样,将依赖项放入 gradle 中:
compile group: 'org.bytedeco', name: 'javacv', version: '0.9'
现在我不知道我是否还需要做点别的事情?
我已经使用了这些进口:
import org.bytedeco.javacpp.avcodec;
import org.bytedeco.javacpp.opencv_core.IplImage;
import org.bytedeco.javacv.FFmpegFrameRecorder;
import static org.bytedeco.javacpp.opencv_highgui.cvLoadImage;
并收到此错误:
Caused by: java.lang.NoClassDefFoundError: java.lang.ClassNotFoundException: org.bytedeco.javacpp.avutil
at org.bytedeco.javacpp.Loader.load(Loader.java:387)
at org.bytedeco.javacpp.Loader.load(Loader.java:353)
at org.bytedeco.javacpp.avformat.<clinit>(avformat.java:13)
at org.bytedeco.javacv.FFmpegFrameRecorder.<clinit>(FFmpegFrameRecorder.java:106)
at voidstudio.app.activity.CreateMovieTask.doInBackground(CreateMovieTask.java:46)
at voidstudio.app.activity.CreateMovieTask.doInBackground(CreateMovieTask.java:21)
and
Caused by: java.lang.ClassNotFoundException: org.bytedeco.javacpp.avutil
at java.lang.Class.classForName(Native Method)
at java.lang.Class.forName(Class.java:217)
and
Caused by: java.lang.UnsatisfiedLinkError: Couldn't load jniavutil from loader dalvik.system.PathClassLoader[dexPath=/data/app/voidstudio.app-1.apk,libraryPath=/data/app-lib/voidstudio.app-1]: findLibrary returned null
at java.lang.Runtime.loadLibrary(Runtime.java:365)
at java.lang.System.loadLibrary(System.java:521)
at org.bytedeco.javacpp.Loader.loadLibrary(Loader.java:535)
at org.bytedeco.javacpp.Loader.load(Loader.java:410)
我在配置中错过了什么吗?我见过类似的问题,但没有正确的答案。