Android Open Source - LandscapeVideoCamera Video File






From Project

Back to project page LandscapeVideoCamera.

License

The source code is released under:

Apache License

If you think the Android project LandscapeVideoCamera listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

/**
 * Copyright 2014 Jeroen Mols/*  w w  w  .  j a  v  a 2  s  .  c  o  m*/
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.jmolsmobile.landscapevideocapture;

import android.os.Environment;

import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;

public class VideoFile {

  private static final String  DIRECTORY_SEPARATOR  = "/";
  private static final String  DATE_FORMAT      = "yyyyMMdd_HHmmss";
  private static final String  DEFAULT_PREFIX    = "video_";
  private static final String  DEFAULT_EXTENSION  = ".mp4";

  private final String    mFilename;
  private Date        mDate;

  public VideoFile(String filename) {
    this.mFilename = filename;
  }

  public VideoFile(String filename, Date date) {
    this(filename);
    this.mDate = date;
  }

  public String getFullPath() {
    return getFile().getAbsolutePath();
  }

  public File getFile() {
    final String filename = generateFilename();
    if (filename.contains(DIRECTORY_SEPARATOR)) return new File(filename);

    final File path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MOVIES);
    path.mkdirs();
    return new File(path, generateFilename());
  }

  private String generateFilename() {
    if (isValidFilename()) return mFilename;

    final String dateStamp = new SimpleDateFormat(DATE_FORMAT, Locale.getDefault()).format(getDate());
    return DEFAULT_PREFIX + dateStamp + DEFAULT_EXTENSION;
  }

  private boolean isValidFilename() {
    if (mFilename == null) return false;
    if (mFilename.isEmpty()) return false;

    return true;
  }

  private Date getDate() {
    if (mDate == null) {
      mDate = new Date();
    }
    return mDate;
  }
}




Java Source Code List

com.jmolsmobile.landscapevideocapture.CLog.java
com.jmolsmobile.landscapevideocapture.MockitoTestCase.java
com.jmolsmobile.landscapevideocapture.VideoCaptureActivityTest.java
com.jmolsmobile.landscapevideocapture.VideoCaptureActivity.java
com.jmolsmobile.landscapevideocapture.VideoFileTest.java
com.jmolsmobile.landscapevideocapture.VideoFile.java
com.jmolsmobile.landscapevideocapture.camera.CameraWrapperTest.java
com.jmolsmobile.landscapevideocapture.camera.CameraWrapper.java
com.jmolsmobile.landscapevideocapture.camera.OpenCameraException.java
com.jmolsmobile.landscapevideocapture.camera.PrepareCameraException.java
com.jmolsmobile.landscapevideocapture.camera.RecordingSize.java
com.jmolsmobile.landscapevideocapture.configuration.CaptureConfigurationTest.java
com.jmolsmobile.landscapevideocapture.configuration.CaptureConfiguration.java
com.jmolsmobile.landscapevideocapture.configuration.PredefinedCaptureConfigurations.java
com.jmolsmobile.landscapevideocapture.preview.CapturePreviewInterface.java
com.jmolsmobile.landscapevideocapture.preview.CapturePreviewTest.java
com.jmolsmobile.landscapevideocapture.preview.CapturePreview.java
com.jmolsmobile.landscapevideocapture.recorder.VideoRecorderInterface.java
com.jmolsmobile.landscapevideocapture.recorder.VideoRecorderTest.java
com.jmolsmobile.landscapevideocapture.recorder.VideoRecorder.java
com.jmolsmobile.landscapevideocapture_sample.CaptureDemoFragment.java
com.jmolsmobile.landscapevideocapture_sample.MainActivity.java
com.jmolsmobile.landscapevideocapture.view.RecordingButtonInterface.java
com.jmolsmobile.landscapevideocapture.view.VideoCaptureViewTest.java
com.jmolsmobile.landscapevideocapture.view.VideoCaptureView.java