Mostrando entradas con la etiqueta conceptos java. Mostrar todas las entradas
Mostrando entradas con la etiqueta conceptos java. Mostrar todas las entradas

domingo, 12 de mayo de 2013

Sound in Java

Ver en Español



For placing sound to our java desktop Application, we have at our disposal multiple alternatives, however I have done a simple class for that endeavor, which has served me for many projects.

The Class is the next:


public class soundthread extends Thread{
        
           
            private Clip sound;
            private boolean continuex;
            
        

         public soundthread(String filepath){
           
            continuex=true;
            try {
                sound = AudioSystem.getClip();
                sound.open(AudioSystem.getAudioInputStream(new File(filepath)));
                
            } catch (UnsupportedAudioFileException ex) {
              
                Logger.getLogger(soundthread.class.getName()).log(Level.SEVERE, null, ex);
            } catch (IOException ex) {
               
                Logger.getLogger(soundthread.class.getName()).log(Level.SEVERE, null, ex);
            } catch (LineUnavailableException ex) {
               
                Logger.getLogger(soundthread.class.getName()).log(Level.SEVERE, null, ex);
            }
         }
         
        @Override
         public void run(){
              
            sound.start();
              
            
            // Wait while it is playing
            do{
                try {
                Thread.sleep(500);
                } catch (InterruptedException ex) {
                Logger.getLogger(soundthread.class.getName()).log(Level.SEVERE, null, ex);
                }
                
            }while (continuex && sound.isActive());
            
            if(sound.isActive()){
                sound.stop();
            }
            
            // Close the clip.

            sound.close();
          
         
         }
        
        public void stop(){
            continuex=false;
        }
         
     }  



For use this class, we should only do something similar or equal to the following:



//...


// Example of path in Windows: C:\path\audio_file.wav
// Example of path in Linux: /home/user/audio_file.wav

soundthread obj = new soundthread("/home/user/audio_file.wav");
obj.start();

//...




Sonido en Java

See in English



Para colocar sonido a nuestra aplicación de escritorio en java, tenemos a nuestra disposición varias alternativas, sin embargo yo he hecho una clase sencilla para esa labor, la cual me ha servido para muchos proyectos.

Dicha clase es la siguiente:


  public class hiloSonido extends Thread{
        
           
            private Clip sonido;
            private boolean seguir;
            
        

         public hiloSonido(String rutaArchivo){
           
            seguir=true;
            try {
                sonido = AudioSystem.getClip();
                sonido.open(AudioSystem.getAudioInputStream(new File(rutaArchivo)));
                
            } catch (UnsupportedAudioFileException ex) {
              
                Logger.getLogger(ReproduceSonido.class.getName()).log(Level.SEVERE, null, ex);
            } catch (IOException ex) {
               
                Logger.getLogger(ReproduceSonido.class.getName()).log(Level.SEVERE, null, ex);
            } catch (LineUnavailableException ex) {
               
                Logger.getLogger(ReproduceSonido.class.getName()).log(Level.SEVERE, null, ex);
            }
         }
         
        @Override
         public void run(){
              
            sonido.start();
              
            // Espera mientras se esté reproduciendo.
            do{
                try {
                Thread.sleep(500);
                } catch (InterruptedException ex) {
                Logger.getLogger(ReproduceSonido.class.getName()).log(Level.SEVERE, null, ex);
                }
                
            }while (seguir && sonido.isActive());
            
            if(sonido.isActive()){
                sonido.stop();
            }
            
            // Se cierra el clip.
            sonido.close();
          
         
         }
        
        public void parar(){
            seguir=false;
        }
         
     }  



Para utilizar esta clase solo debemos hacer algo similar o igual a lo siguiente:


//...


// Ejemplo de ruta en Windows: C:\ruta\archivo_de_audio.wav
// Ejemplo de ruta en Linux: /home/usuario/archivo_de_audio.wav

hiloSonido obj = new hiloSonido("/home/usuario/archivo_de_audio.wav");
obj.start();

//...




domingo, 20 de febrero de 2011

CONCEPTOS INDISPENSABLES SOBRE JAVA





 Algo que les suele pasar a los recien llegados al mundo de la programación, es que se olvidan de la importancia de conocer exactamente toda la conceptología referente a este, es decir todos esos conceptos involucrados en el proceso, o al menos los mas importantes, desde el modelado de una aplicación hasta las pruebas posteriores a la codificación, en el caso de java podemos resaltar algunos de los mas influyentes:

  • JDK: jdk es el acrónimo de Java Development Kit que en español es "Kit de desarrollo de java", que es un paquete donde esta todo lo que se necesita para hacer y ejecutar aplicaciones java; Cuando veas términos como SDK o J2SE es que se refieren al JDK.
  • JRE : jre es el acrónimo de “Java Runtime Environment”, es un componente del JDK que incluye todo lo necesario para poder ejecutar aplicaciones java, ojo, solo ejecutar.
  • JVM: jvm es el acrónimo de “Java Virtual Machine” que en español es “maquina virtual de java”, es un componente del JRE y es el que ejecuta el código que debe estar compilado previamente.
  • COMPILAR: es la labor que realiza el compilador; El compilador es un programa informático que traduce un programa escrito en un lenguaje de programación a otro, en este caso se traduce de un lenguaje de alto nivel como lo es java a un lenguaje maquina que es un lenguaje que si puede “entender” nuestro computador por así decirlo.
  • API: es el acrónimo de “Application Programming Interface” que en español es: “interfaz de programación de aplicaciones”, proporciona al programador un conjunto de paquetes cada uno lleno de clases. Un ejemplo se esto es: java.lang.String donde “lang” es un paquete y "String" es una clase de la cual creamos objetos muy frecuentemente.
     
    Cabe destacar que para utilizar una clase se debe importar y esto se hace colocando la sentencia “import” en la parte de arriba del archivo, ejemplo:"import java.io.serializable;", pero el paquete “java.lang” se importa predeterminadamente, por eso los que empiezan en java no se encuentran con esta palabra de inmediato pues “lang ”es una clase estándar de las que se utilizan primero y no hay necesidad de importarla con dicha sentencia.
  • JCREATOR: es uno de los muchos editores de código java que nos ayudan a compilar y ejecutar nuestros programas y nos evita tener que hacerlo todo por la linea de comandos, este editor en especial solo sirve para windows. Pero existen muchísimas opciones que se ajustan a lo que necesitemos, como por ejemplo Jgrasp(hecho en java y mi preferido), BlueJ, Netbeans, Eclipse, Jboss entre otros.