【发布时间】:2014-08-23 18:56:19
【问题描述】:
我尝试在安卓设备上将视频转换为 .mp3 文件。
所以经过长时间的搜索和谷歌搜索(不确定它是否分别拼写为 so)我找到了 Xuggler。 它是最合适的解决方案,因为我自己无法移植 ffmepg(没有可用的 linux / ubuntu)并且 JAVE 给了我太多错误。所以我决定使用 Xuggler。
我添加了 slf4j-api-1.7.7.jar 和 xuggle-xuggler-3.4.1012.201001312056.jar(不是 5.4 的实际版本,因为我的 android 无法处理它 ;() 作为外部库
import com.xuggle.mediatool.IMediaReader;
import com.xuggle.mediatool.IMediaViewer;
import com.xuggle.mediatool.IMediaWriter;
import com.xuggle.mediatool.ToolFactory;
String source = this.storagePath + "/" + this.FileName + this.Video_encoding;
String target = this.storagePath + "/" + this.FileName + ".mp3";
IMediaReader mediaReader = ToolFactory.makeReader(source);
IMediaWriter mediaWriter = ToolFactory.makeWriter(target);
mediaReader.addListener(mediaWriter);
while (mediaReader.readPacket() == null) ;
我在这一行收到以下错误:
IMediaReader mediaReader = ToolFactory.makeReader(source);
这是我的堆栈跟踪:
08-23 20:27:32.783: E/AndroidRuntime(19678): FATAL EXCEPTION: AsyncTask #1
08-23 20:27:32.783: E/AndroidRuntime(19678): java.lang.RuntimeException: An error occured while executing doInBackground()
08-23 20:27:32.783: E/AndroidRuntime(19678): at android.os.AsyncTask$3.done(AsyncTask.java:299)
08-23 20:27:32.783: E/AndroidRuntime(19678): at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:273)
08-23 20:27:32.783: E/AndroidRuntime(19678): at java.util.concurrent.FutureTask.setException(FutureTask.java:124)
08-23 20:27:32.783: E/AndroidRuntime(19678): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:307)
08-23 20:27:32.783: E/AndroidRuntime(19678): at java.util.concurrent.FutureTask.run(FutureTask.java:137)
08-23 20:27:32.783: E/AndroidRuntime(19678): at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
08-23 20:27:32.783: E/AndroidRuntime(19678): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
08-23 20:27:32.783: E/AndroidRuntime(19678): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
08-23 20:27:32.783: E/AndroidRuntime(19678): at java.lang.Thread.run(Thread.java:856)
08-23 20:27:32.783: E/AndroidRuntime(19678): Caused by: java.lang.ExceptionInInitializerError
08-23 20:27:32.783: E/AndroidRuntime(19678): at com.xuggle.mediatool.MediaReader.<init>(MediaReader.java:137)
08-23 20:27:32.783: E/AndroidRuntime(19678): at com.xuggle.mediatool.ToolFactory.makeReader(ToolFactory.java:77)
08-23 20:27:32.783: E/AndroidRuntime(19678): at at.m4tho.youtubemp3sync.Async_DL.ConvertToMp3(Async_DL.java:194)
08-23 20:27:32.783: E/AndroidRuntime(19678): at at.m4tho.youtubemp3sync.Async_DL.doInBackground(Async_DL.java:70)
08-23 20:27:32.783: E/AndroidRuntime(19678): at at.m4tho.youtubemp3sync.Async_DL.doInBackground(Async_DL.java:1)
08-23 20:27:32.783: E/AndroidRuntime(19678): at android.os.AsyncTask$2.call(AsyncTask.java:287)
08-23 20:27:32.783: E/AndroidRuntime(19678): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
08-23 20:27:32.783: E/AndroidRuntime(19678): ... 5 more
08-23 20:27:32.783: E/AndroidRuntime(19678): Caused by: java.lang.ExceptionInInitializerError
08-23 20:27:32.783: E/AndroidRuntime(19678): at com.xuggle.xuggler.IContainer.<clinit>(IContainer.java:1457)
08-23 20:27:32.783: E/AndroidRuntime(19678): ... 12 more
08-23 20:27:32.783: E/AndroidRuntime(19678): Caused by: java.lang.UnsatisfiedLinkError: Couldn't load xuggle-xuggler: findLibrary returned null
08-23 20:27:32.783: E/AndroidRuntime(19678): at java.lang.Runtime.loadLibrary(Runtime.java:365)
08-23 20:27:32.783: E/AndroidRuntime(19678): at java.lang.System.loadLibrary(System.java:535)
08-23 20:27:32.783: E/AndroidRuntime(19678): at com.xuggle.ferry.JNILibraryLoader.loadLibrary0(JNILibraryLoader.java:265)
08-23 20:27:32.783: E/AndroidRuntime(19678): at com.xuggle.ferry.JNILibraryLoader.loadLibrary(JNILibraryLoader.java:168)
08-23 20:27:32.783: E/AndroidRuntime(19678): at com.xuggle.xuggler.XugglerJNI.<clinit>(XugglerJNI.java:19)
08-23 20:27:32.783: E/AndroidRuntime(19678): ... 13 more
所以我浪费了太多时间来寻找替代方案或一些修复,因此我问你。有人知道如何解决这个问题吗?
如果这恰好是一个重复帖子并且有人问过同样的问题,请给我一个链接。
对不起我的英语不好;)
【问题讨论】:
标签: android audio video xuggler unsatisfiedlinkerror