>> Home >> Java >> Java: Přehráváme MP3

 

Java: Přehráváme MP3

 

Jak v programovacím jazyce Java přehrávat hudební soubory ve formátu MP3 je více řešení. Java sama o sobě nemá žádné třídy, které by přehrávání MP3 souborů umožňovali. Existuje ale několik externích tříd, díky kterým můžeme MP3 soubory přehrávat. V tomto článku si ukážeme, jak přehrávat MP3 hudební soubory pomocí balíku JavaLayer (Jlayer).

Jak jsem již uvedl, máte více možností implementace MP3 dekodéru. Jedna z možností je použití JMF MP3 pluginu, který vyvíjí samotný Sun. Ten si můžete stahnout na stránkách společnosti Sun. Na těchto stránkách budete moci stáhnout samotný plugin k přehrávání MP3 a také zde najdete dokumentaci.

My se ovšem budeme zabývat MP3 dekoderem, který není vyvíjen přímo rodinou Sun. Jedná se o JLayer (JavaLayer). Je to balík tříd, díky kterému můžeme MP3 přehrávat, dekódovat, konvertovat atd.

 

JavaLayer můžete stahnout na adrese - www.javazoom.net/javalayer/sources.html

Zde k tomuto balíku naleznete dokumentaci -JLayerDocs

 

Jak přehrát MP3?

Nejprve upozorním, že po stažení JLayer musíte tento soubor extrahovat a z rozbaleného archivu použít soubor jl1.0.1.jar. Na tento soubor musíte při kompilaci vždy nastavit classpath!

Takto by už mohl vypadat kód, který by přehrál soubor demo.mp3:

 

import java.io.BufferedInputStream;
import java.io.FileInputStream;
import javazoom.jl.player.Player;


public class Main {
   
    private Player prehravac;
  
    public void hraj() {
        try {
            BufferedInputStream buff = new BufferedInputStream(new FileInputStream("demo.mp3"));
            prehravac = new Player(buff);
            prehravac.play();
        }
        catch (Exception ex) {
            System.out.println(ex);
        }
    }
   
    public void close() { if (prehravac != null) prehravac.close(); }


    public static void main(String[] args) {
       
        new Main().hraj();
    }

}

 

Doporučuje se ovšem, aby objekt, který obstarává zvuk (přehrává ho atp.) běžel ve vlastním vlákně. Implementace vláken v Javě lze provést opět několika způsoby. Předchozí kód by byl asi nejrychleji upravitelný tak, kdyby jsme do třídy Main implementovali rozhraní Runnable a metodu hraj přejmenovali na run().

 

pridej.cz Přidat.eu záložku

 

Diskuze k článku


 

Zatím žádné komentáže k tomuto článku.

 

Přidat nový komentář