【发布时间】:2017-08-07 00:16:18
【问题描述】:
我正在关注the documentation for FFmpeg here,我想知道我应该把什么作为上下文?
我的功能
public static void conversion(String[] cmd) {
FFmpeg ffmpeg = FFmpeg.getInstance(context); //what should I put as the context here?
try {
// to execute "ffmpeg -version" command you just need to pass "-version"
ffmpeg.execute(cmd, new ExecuteBinaryResponseHandler() {
@Override
public void onStart() {
}
@Override
public void onProgress(String message) {
}
@Override
public void onFailure(String message) {
}
@Override
public void onSuccess(String message) {
}
@Override
public void onFinish() {
}
});
} catch (FFmpegCommandAlreadyRunningException e) {
// Handle if FFmpeg is already running
e.printStackTrace();
}
}
然后我这样调用我的函数(来自同一个类):
public void alert(String message) {
String[] cmd = {"-i"
, message
, "Image.gif"};
conversion(cmd);
}
【问题讨论】:
-
我会使用
Application上下文,因为他们(可能)没有对涉及 UI 的Context做任何事情,他们可能正在使用它来初始化单例(所以任何其他Context表示内存泄漏)。但是,我没有使用过这个库,所以我不知道这种方法是否会导致任何问题。