Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Java - Calcolare lunghezza di un file wave
Forum - Java - Calcolare lunghezza di un file wave

Avatar
luigi7 (Normal User)
Pro


Messaggi: 83
Iscritto: 28/06/2011

Segnala al moderatore
Postato alle 13:58
Giovedì, 17/01/2013
Salve, mi sapete dir come posso fare ad calcolare la lunghezza del file registrato al volo?.

Mi potete aiutarmi?

Ho questo codice e vorrei inserire il file che mi rileva quando e lunga la registrazione .
codice:

Codice sorgente - presumibilmente Java

  1. import java.io.*;
  2. import javax.sound.sampled.*;
  3.  
  4. public class SimpleAudioRecorder
  5. extends Thread {
  6.     private TargetDataLine              m_line;
  7.     private AudioFileFormat.Type        m_targetType;
  8.     private AudioInputStream    m_audioInputStream;
  9.     private File                        m_outputFile;
  10.  
  11.     public SimpleAudioRecorder(TargetDataLine line,
  12.     AudioFileFormat.Type targetType,    File file)
  13.     {
  14.         m_line = line;
  15.         m_audioInputStream = new AudioInputStream(line);
  16.         m_targetType = targetType;
  17.         m_outputFile = file;
  18.     }
  19.     public void start() {
  20.         m_line.start();
  21.         super.start();
  22.     }
  23.     public void stopRecording() {
  24.         m_line.stop();
  25.         m_line.close();
  26.     }
  27.     public void run() {
  28.         try {
  29.             AudioSystem.write(
  30.             m_audioInputStream,
  31.             m_targetType,
  32.             m_outputFile);
  33.         }
  34.         catch (IOException e) {
  35.             e.printStackTrace();
  36.         }
  37.     }
  38.  
  39.     public static void main(String[] args) {
  40.         if (args.length != 1 || args[0].equals("-h")) {
  41.             System.out.println("SimpleAudioRecorder: usage:");
  42.             System.out.println("\tjava SimpleAudioRecorder -h");
  43.             System.out.println("\tjava SimpleAudioRecorder <audiofile>");
  44.             System.exit(0);
  45.         }
  46.  
  47.         String  strFilename = args[0];
  48.         File    outputFile = new File(strFilename);
  49.  
  50.         AudioFormat  audioFormat = new AudioFormat(AudioFormat.Encoding.PCM_SIGNED,    44100.0F, 16, 2, 4, 44100.0F, false);
  51.  
  52.         DataLine.Info   info = new DataLine.Info(TargetDataLine.class, audioFormat);
  53.         TargetDataLine  targetDataLine = null;
  54.         try {
  55.             targetDataLine = (TargetDataLine) AudioSystem.getLine(info);
  56.             targetDataLine.open(audioFormat);
  57.         }
  58.         catch (LineUnavailableException e) {
  59.             System.out.println("unable to get a recording line");
  60.             e.printStackTrace();
  61.             System.exit(1);
  62.         }
  63.  
  64.         AudioFileFormat.Type    targetType = AudioFileFormat.Type.WAVE;
  65.         SimpleAudioRecorder     recorder = new SimpleAudioRecorder(
  66.         targetDataLine,
  67.         targetType,
  68.         outputFile);
  69.  
  70.         System.out.println("Press ENTER to start the recording.");
  71.         try {
  72.             System.in.read();
  73.         }
  74.         catch (IOException e) {
  75.             e.printStackTrace();
  76.         }
  77.         recorder.start();
  78.         System.out.println("Recording...");
  79.         System.out.println("Press ENTER to stop the recording.");
  80.         try {
  81.             System.in.read();
  82.         }
  83.         catch (IOException e) {
  84.             e.printStackTrace();
  85.         }
  86.         recorder.stopRecording();
  87.         System.out.println("Recording stopped.");
  88.     }
  89. }


PM Quote
Avatar
luigi7 (Normal User)
Pro


Messaggi: 83
Iscritto: 28/06/2011

Segnala al moderatore
Postato alle 14:32
Giovedì, 17/01/2013
scusate, ma per caso è questa voce che devo cercare: Fast Fourier Transform
??
avete una libreria minuscola da capire?

grazie mille.

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6402
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 16:45
Giovedì, 17/01/2013
Testo quotato

Postato originariamente da luigi7:

scusate, ma per caso è questa voce che devo cercare: Fast Fourier Transform
??



Testo quotato

avete una libreria minuscola da capire?



Ciaffo zone ?


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
luigi7 (Normal User)
Pro


Messaggi: 83
Iscritto: 28/06/2011

Segnala al moderatore
Postato alle 17:06
Giovedì, 17/01/2013
hai ragione troppo complicato... devo ancora studiare..

ciao, ed alla prossima.
potete chiudere.

PM Quote
Avatar
tasx (Dev Team)
Expert


Messaggi: 439
Iscritto: 15/12/2008

Segnala al moderatore
Postato alle 21:38
Giovedì, 17/01/2013

PM Quote