+++ /dev/null
-package tim.prune.data;
-
-import java.io.File;
-import javax.sound.sampled.AudioFileFormat;
-import javax.sound.sampled.AudioSystem;
-
-/**
- * Class to represent an audio file for correlation
- */
-public class AudioFile extends MediaFile
-{
- /** length of current audio file in seconds */
- private int _lengthInSeconds = LENGTH_UNKNOWN;
-
- private static final int LENGTH_UNKNOWN = -1;
- private static final int LENGTH_NOT_AVAILABLE = -2;
-
- /**
- * Constructor
- * @param inFile file object
- */
- public AudioFile(File inFile)
- {
- // Timestamp is always just taken from the file modification stamp
- super(inFile, new Timestamp(inFile.lastModified()));
- }
-
- /**
- * @return length of this audio file in seconds
- */
- public int getLengthInSeconds()
- {
- if (_lengthInSeconds == LENGTH_UNKNOWN)
- {
- try {
- AudioFileFormat format = AudioSystem.getAudioFileFormat(getFile());
- _lengthInSeconds = (int) (format.getFrameLength() / format.getFormat().getFrameRate());
- }
- catch (Exception e) {
- _lengthInSeconds = LENGTH_NOT_AVAILABLE;
- }
- }
- return _lengthInSeconds;
- }
-}