Завершение действия после записи видео (с использованием библиотеки CWAC-Camera)
Я работаю над приложением, которое автоматически вызывает действие, чтобы снимать видео каждые несколько секунд.
Действие запускается из службы следующим образом.
Intent intent1 = new Intent(context,CwacCamActivity.class);
intent1.setAction(GlobalVariables.TAKE_VIDEO_ACTION);
intent1.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent1.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);//have tried without including this too.
context.startActivity(intent1);
Согласно рекомендациям о наилучшем времени для начала записи видео,
Я начинаю запись видео в
public void autoFocusAvailable()
Вот код
try {
record();
} catch (Exception e) {
e.printStackTrace();
}
//THread to stop the video after stipulated time ( 5 seconds for example)...
new Thread(new Runnable() {
@Override
public void run() {
//RUnnable to let the record go on for the requested time...
try {
Thread.sleep(5000);
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
try {
stopRecording();
getActivity().finish();
} catch (IOException e) {
e.printStackTrace();
Log.v(GlobalVariables.TAG,"error is"+e.getMessage());
}
}
});
} catch (Exception e) {
Log.v(GlobalVariables.TAG,"error is"+e.getMessage()
}
}
}).start();
Когда я пытаюсь выполнить приведенный выше код, выполняя действие как MAIN и Launcher, он прекрасно закрывается, но при запуске действия из Сервиса он продолжает перезапускать действие, и в процессе происходит сбой всего приложения.
При съемке имеет смысл завершить действие в SavePicture(). Я не уверен, является ли это подходящим местом для завершения действия или даже остановки записи по этому вопросу. Как бы то ни было, stopRecoring работает, и видео сохраняются как есть. должен.
Я пробовал кучу разных вещей, но безрезультатно. Я чувствую, что упускаю что-то очень простое.
Любая помощь приветствуется, так как у меня нет идей на данный момент.