我想在同一个文件上使用两个Asynctask。 1 - >执行压缩以输出文件路径。 2 - >想要在第一个Asynctask运行时更新文件大小。
我怎样才能得到这两件事?
类VideoCompressor扩展了AsyncTask {
@Override
protected void onPreExecute() {
super.onPreExecute();
progressBar.setVisibility(View.VISIBLE);
Log.d(TAG,"Start video compression");
}
@Override
protected Boolean doInBackground(String... params) {
Log.d("doInBackground: ", "0 = " + params[0] + " 1 = " + params[1]);
return MediaController.getInstance().convertVideo(params[0],params[1]);
}
@Override
protected void onProgressUpdate(Integer... values) {
super.onProgressUpdate(values);
progressBar.setIndeterminate(false);
progressBar.setMax(100);
progressBar.setProgress(values[0]);
}
@Override
protected void onPostExecute(Boolean compressed) {
super.onPostExecute(compressed);
progressBar.setVisibility(View.GONE);
if(compressed){
Log.d(TAG,"Compression successfully!");
}
}
}
答案 0 :(得分:0)
如何使用AsyncTask的Runnable
方法,通过它可以获得文件压缩的当前进度。