Formatos de Archivos de Audio
Description
Uno de los problemas con archivos de datos es que pueden llegar a usar mucho espacio. Por ello existen algoritmos de compresión que reducen el tamaño de los archivos y con ello ahorran espacio en disco ademas de acelerar la lectura. Por ello existen tres tipos de formatos:
- archivos sin compresión
- archivos comprimidos sin modificación de información
- archivos comprimidos con modificación de información
Ejemplos de los primeros tipos de formatos son WAV (Waveform Audio File Format - asociado a Microsoft e IBM), AIFF (Audio Interchange File Format asociado a Apple),y AU (asociado a SUN).
En el caso se algoritmos de compresión sin modificación de la información se habla de lossless (loss=perdida, less=menor) y archivos tipicos de este tipo de formato son FLAC (Free Lossless Audio Codec)), APE (Monkey's Audio), WV (WavPack), TTA (True Audio), MPEG-4 (Moving Picture Experts Group) y WMA-lossless (Windows Media Audio).
En el caso de algoritmos de compresión con modificación de la información se habla de lossy (lossy=suelto, perdido). La modificación se realiza de modo de reducir el tamaño sin afectar demasiado la calidad del sonido. Ejemplos tipicos son Opus (de Xiph.Org Foundation), MP3 (asociado a los MPEG de Moving Picture Experts Group), Vorbois (de Xiph.Org Foundation), AAC (Advanced Audio Coding), ATRAC (Adaptive Transform Acoustic Coding) y WMA-lossy (Windows Media Audio).
ID:(8824, 0)
Finalizar la Captura
Description
Para terminar se debe detener la grabación y cerrar la linea:
```
line.stop();
line.close();
```
ID:(8825, 0)
Ejemplo Reproducir Audio
Description
Un ejemplo de reproducir audio con java se presenta a continuación:
```
import java.io.*;
import java.net.URL;
import javax.sound.sampled.*;
import javax.swing.*;
public class SoundClipTest extends JFrame {
public SoundClipTest() {
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setTitle("Test Sound Clip"); this.setSize(300, 200);
this.setVisible(true);
try {
// Abrir una secuencia de lectura de audio.
URL url = this.getClass().getClassLoader().getResource("gameover.wav");
AudioInputStream audioIn = AudioSystem.getAudioInputStream(url);
// Obtener recurso de clip de sonido.
Clip clip = AudioSystem.getClip();
// Abra el clip de audio y cargue las muestras de la secuencia de entrada de audio.
clip.open(audioIn);
clip.start();
} catch (UnsupportedAudioFileException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (LineUnavailableException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
new SoundClipTest();
}
}
```
ID:(8822, 0)