Note that there are some explanatory texts on larger screens.

plurals
  1. POHow to use Timer to restart record video for every preset interval time?
    primarykey
    data
    text
    <p>Can someone tell me how can i use something like a timer to start a video recording interval process for a period of time (eg: 5mins) then restarts to record another set of 5min video until the user intervene to stop the process.. I'm kinna new in android/java so can someone help me along with this question?</p> <pre><code>public class ServiceRecording extends Service { @Override public IBinder onBind(Intent intent) { // TODO Auto-generated method stub return null; } private SurfaceView surfaceView; private SurfaceHolder surfaceHolder; public static Camera ServiceCamera; public static boolean recordingStatus; @Override public void onCreate() { super.onCreate(); recordingStatus = false; ServiceCamera = CameraTest.MainCamera; surfaceView = CameraTest.surfaceView; surfaceHolder = CameraTest.surfaceHolder; } @Override public int onStartCommand(Intent intent, int flags, int startId) { super.onStartCommand(intent, flags, startId); if (recordingStatus == false) startRecording(); return START_STICKY; } @Override public void onDestroy() { super.onDestroy(); stopRecording(); //camera.stopPreview(); recordingStatus = false; //camera.release(); } private MediaRecorder mediaRecorder; private static int encodingStatus; private static String videoResolution; private static String fileFormat; private static boolean audioStatus; private static int timeInterval; private static final String TAG = "Exception"; public boolean startRecording(){ try { encodingStatus = Tab1Activity.encodingPref; videoResolution = Tab1Activity.videoResPref; fileFormat = Tab1Activity.fileFormatPref; audioStatus = Tab2Activity.audioPref; timeInterval = Tab2Activity.timeIntervalPref; Toast.makeText(getBaseContext(), "Recording Started", Toast.LENGTH_SHORT).show(); try{ ServiceCamera.reconnect(); ServiceCamera.unlock(); } catch(Exception e){ } mediaRecorder = new MediaRecorder(); mediaRecorder.setCamera(ServiceCamera); mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);// mediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA); mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.DEFAULT); mediaRecorder.setMaxDuration(timeInterval); mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT); mediaRecorder.setVideoEncoder(encodingStatus); //mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.DEFAULT); SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH_mm_ss"); Date date = new Date(); File dirlist = new File(Environment.getExternalStorageDirectory() + "/VideoList"); if(!(dirlist.exists())) dirlist.mkdir(); File TempFile = new File(Environment.getExternalStorageDirectory() + "/VideoList", dateFormat.format(date) + fileFormat); mediaRecorder.setOutputFile(TempFile.getPath()); String[] separatedRes = videoResolution.split("x"); separatedRes[0]; separatedRes[1]; mediaRecorder.setVideoSize(surfaceView.getWidth(),surfaceView.getHeight()); //mediaRecorder.setVideoFrameRate(videoFramesPerSecond); mediaRecorder.setPreviewDisplay(surfaceHolder.getSurface()); mediaRecorder.prepare(); mediaRecorder.start(); recordingStatus = true; return true; } catch (IllegalStateException e) { Log.d(TAG,e.getMessage()); e.printStackTrace(); return false; } catch (IOException e) { Log.d(TAG,e.getMessage()); e.printStackTrace(); return false; } } public void stopRecording() { Toast.makeText(getBaseContext(), "Recording Stopped", Toast.LENGTH_SHORT).show(); mediaRecorder.reset(); mediaRecorder.release(); recordingStatus = false; } } </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload