私のボタンには、次のコードがあります。
Log.i(TAG, "!isFirstVideo: " + isFirstVideo);
ConcatenateVideos concatenateVideos = new ConcatenateVideos();
concatenateVideos.setUris(firstVideoUri, fileUri, VideoRecorderActivity.this);
これは私の asynctask クラスです:
public class ConcatenateVideos extends AsyncTask<String, Void, String> {
private String firstVideoUri, fileUri;
private VideoRecorderActivity videoRecorderActivity;
public void setUris(String firstVideoUri, String fileUri, VideoRecorderActivity videoRecorderActivity) {
Log.i("VideoRecorderActivity", "set uris");
this.firstVideoUri = firstVideoUri;
this.fileUri = fileUri;
this.videoRecorderActivity = videoRecorderActivity;
this.execute();
Log.i("VideoRecorderActivity", "set uris2");
}
@Override
protected String doInBackground(String... params) {
Log.i("VideoRecorderActivity", "concat do in background");
FileInputStream videoMain = null, videoToAppend = null;
try {
videoMain = new FileInputStream(firstVideoUri);
videoToAppend = new FileInputStream(fileUri);
} catch (FileNotFoundException e) {
Log.i("VideoRecorderActivity", "concat file not found " + e);
e.printStackTrace();
}
if (videoMain != null && videoToAppend != null) {
concatenateVideos(videoMain, videoToAppend);
videoRecorderActivity.deleteCancelledRecording(fileUri);
}
return null;
}
@Override
protected void onPostExecute(String result) {
super.onPostExecute(result);
VideoRecorderActivity.recordButton.setEnabled(true);
VideoRecorderActivity.okButton.setEnabled(true);
VideoRecorderActivity.mySurfaceView.setEnabled(true);
Toast.makeText(videoRecorderActivity, "Video appended succesfully", Toast.LENGTH_SHORT).show();
Log.i("VideoRecorderActivity", "concat touche enabled record, ok ,surface: " + VideoRecorderActivity.recordButton.isEnabled() + "| " + VideoRecorderActivity.okButton.isEnabled() + "|" + VideoRecorderActivity.mySurfaceView.isEnabled());
}
logcatで私は得る:
04-11 12:21:42.520: I/VideoRecorderActivity(7927): set uris
04-11 12:21:42.520: I/VideoRecorderActivity(7927): set uris2
しかし、私はそれLog.i("VideoRecorderActivity", "concat do in background");
がdoInBackgroundクラスの最初の行であり、これらの2行の間で呼び出されていることを知りません:
Log.i("VideoRecorderActivity", "set uris");
this.firstVideoUri = firstVideoUri;
this.fileUri = fileUri;
this.videoRecorderActivity = videoRecorderActivity;
this.execute();
Log.i("VideoRecorderActivity", "set uris2");
私が間違っていることはありますか?