source: josm/trunk/src/org/openstreetmap/josm/tools/AudioUtil.java@ 4067

Last change on this file since 4067 was 3083, checked in by bastiK, 14 years ago

added svn:eol-style=native to source files

  • Property svn:eol-style set to native
File size: 1.2 KB
Line 
1// License: GPL. Copyright 2009 by David Earl and others
2package org.openstreetmap.josm.tools;
3
4import java.io.File;
5import java.net.URL;
6
7import javax.sound.sampled.AudioFormat;
8import javax.sound.sampled.AudioInputStream;
9import javax.sound.sampled.AudioSystem;
10
11import org.openstreetmap.josm.Main;
12
13/**
14 * Returns calibrated length of recording in seconds.
15 *
16 * @author David Earl <david@frankieandshadow.com>
17 *
18 */
19public class AudioUtil {
20 static public double getCalibratedDuration(File wavFile) {
21 try {
22 AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(
23 new URL("file:".concat(wavFile.getAbsolutePath())));
24 AudioFormat audioFormat = audioInputStream.getFormat();
25 long filesize = wavFile.length();
26 double bytesPerSecond = audioFormat.getFrameRate() /* frames per second */
27 * audioFormat.getFrameSize() /* bytes per frame */;
28 double naturalLength = filesize / bytesPerSecond;
29 audioInputStream.close();
30 double calibration = Main.pref.getDouble("audio.calibration", "1.0" /* default, ratio */);
31 return naturalLength / calibration;
32 } catch (Exception e) {
33 return 0.0;
34 }
35 }
36}
Note: See TracBrowser for help on using the repository browser.