Guía: Sonido (Parte 4 de 4)

Interfaz de Prestación de Servicios

Los paquetes javax.sound.sampled.spi y javax.sound.midi.spi contienen APIs que permiten a los desarrolladores de software crear nuevos recursos de audio o MIDI que puedn ser proveídos por separado al usuario y "enchufados" a una implementación existente de la API Java Sound. Estos son algunos ejemplos de servicios (recursos) que pueden ser añadidos en esta manera:

  • Un mezclador de audio
  • Un sintetizador MIDI
  • Un analizador de archivos que pueda leer o escribir un nuevo tipo de audio o archivo MIDI
  • Un conversor que traduzca entre distintos formatos de datos de sonido

  • En algunos casos, los servicions son interfaces de software para las capacidades de dispositivos físicos, como tarjetas de sonido, el prestador de servicios debería ser el mismo que el vendedor del hardware. En otros casos, los servicios existen puramente en el software. Por ejemplo, un sintetizador o mezclador podría ser una interfaz a un chip en una tarjeta de sonido, o podría ser implementado sin ningún soporte en hardware en absoluto.

    Una implementación de la API Java Sound contiene un conjunto básico de servicios, pero los paquetes de la interfaz de prestación de servicios (SPI en inglés) permiten a terceras partes crear nuevos servicios. Estar terceras partes son integradas al sistema de la misma forma que los servicios incorporados. la clase AudioSystem y la clase MidiSystem actúan como coordinadores de que dejan a las aplicaiones acceder a los servicios de manera explícita o implícita. A menudo la existencia de una servicio es totalmente transparente a una aplicación que la usa. El mecanismo prestador de servicios beneficia a los usuarios de aplicaciones basadas en la API Java Sound, por que nuevas características de sonido pueden ser añadidas a un programa sin requerir una nueva salida al mercado del JDK o del entorno en tiempo de ejecución, y en muchos casos, incluso sin requerir una nueva salida al mercado de la aplicación misma.

    traducido desde http://java.sun.com/docs/books/tutorial/sound/index.html
    Copyright © 1995-2009 Sun Microsystems, Inc. 4150 Network Circle, Santa Clara, California 95054, U.S.A. All rights reserved.

    1 comentarios:

    Anónimo dijo...

    Buenas tardes. Me parece muy interesante el poder manipular sonido con Java, por lo que me surge la siguiente duda y agradecería mucho su respuesta. Es posible obtener los bits de la codificación PCM de un archivo de audio? De ser así como lo haría? Muchas gracias.