Vyřešeno: Jak přehrávat zvuky na Javě

Jak přehrávat zvuky V tomto článku se ponoříme do přehrávání zvuků v Javě, což je běžný problém, s nímž se vývojáři potýkají při vytváření různých aplikací, jako jsou hry a multimediální přehrávače. Probereme krok za krokem řešení, prozkoumáme knihovny potřebné ke splnění tohoto úkolu a poskytneme podrobné vysvětlení kódu. Java, známá svou všestranností a snadným používáním, je vybavena různými knihovnami, které mohou vývojářům pomoci zlepšit funkčnost a možnosti jejich aplikací. Jednou z takových významných oblastí je zvuk a podpora zvuku.

Úvod do Java Sound API

Java Sound API je výkonná sada nástrojů navržená tak, aby poskytovala podporu zvuku na všech platformách. Dodává se s Java Development Kit (JDK) a umožňuje vývojářům přehrávat, nahrávat a zpracovávat zvukové soubory v různých formátech. V tomto článku se zaměříme na základy přehrávání zvuku v Java aplikacích pomocí tříd AudioClip a AudioSystem, které jsou součástí Java Sound API.

Java Sound API lze rozdělit do dvou primárních balíčků: javax.zvuk.vzorkovaný si javax.sound.midi. Vzorkovaný balíček se používá ke zpracování základních zvukových funkcí, jako je přehrávání, nahrávání a syntéza zvukových dat, zatímco balíček midi je určen pro správu hudebních skladeb a zvukových stop založených na MIDI.

Přehrávání zvuků pomocí AudioClip

Nejprve se podívejme, jak přehrávat zvukové soubory pomocí Zvukový klip rozhraní, které je součástí java.applet balík. Přestože bylo rozhraní AudioClip původně vytvořeno pro applety, je stále relevantní a užitečné pro přehrávání malých zvukových souborů v aplikacích Java.

import java.applet.AudioClip;
import java.net.URL;
public class SoundPlayer {
    public static void main(String[] args) {
        AudioClip sound;
        URL soundURL = SoundPlayer.class.getResource("sound.wav");
        sound = java.applet.Applet.newAudioClip(soundURL);
        sound.play();
    }
}

Ve výše uvedeném fragmentu kódu jsme importovali soubor Zvukový klip rozhraní a URL třída. Tyto třídy nám umožňují načíst zdroj zvuku a přehrát jej pomocí metody play() instance AudioClip. Chcete-li použít zvukový klip, ujistěte se, že jste soubor „sound.wav“ umístili do stejného adresáře jako váš soubor Java, nebo zadejte správnou cestu k souboru.

Pokud však pracujete s většími zvukovými soubory nebo potřebujete sofistikovanější kontrolu nad přehráváním, nemusí být rozhraní AudioClip dostatečné a měli byste zvážit použití třídy AudioSystem.

Přehrávání zvuků pomocí třídy AudioSystem

Jedno Audiosystém class je součástí balíku javax.sound.sampled a poskytuje pokročilejší možnosti přehrávání zvuku. Následující příklad ukazuje, jak přehrát zvukový soubor pomocí třídy AudioSystem:

import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.Clip;
import javax.sound.sampled.LineUnavailableException;
import javax.sound.sampled.UnsupportedAudioFileException;
import java.io.File;
import java.io.IOException;

public class SoundPlayer {
    public static void main(String[] args) {
        try {
            File soundFile = new File("sound.wav");
            AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(soundFile);
            Clip clip = AudioSystem.getClip();
            clip.open(audioInputStream);
            clip.start();

            // Keep the application running till the sound is played completely
            Thread.sleep(clip.getMicrosecondLength() / 1000);
        } catch(LineUnavailableException | UnsupportedAudioFileException | IOException | InterruptedException e) {
            e.printStackTrace();
        }
    }
}

V tomto příkladu jsme nejprve importovali požadované třídy a rozhraní z javax.zvuk.vzorkovaný balík. Poté jsme vytvořili AudioInputStream objekt pro čtení zvukových dat ze souboru a a Klip například pro uložení zvukových dat v paměti. Po otevření klipu jsme zavolali metodu start() pro přehrání zvuku.

Tento přístup poskytuje větší kontrolu nad přehráváním zvuku, včetně možnosti pozastavit, obnovit, opakovat a zastavit zvuk, takže je vhodný pro širokou škálu aplikací.

Abych to shrnul, probrali jsme dva různé přístupy k přehrávání zvuků v Javě pomocí tříd AudioClip a AudioSystem. Rozhraní AudioClip je vhodné pro malé zvukové soubory v jednoduchých aplikacích, zatímco třída AudioSystem nabízí pokročilé možnosti přehrávání zvuku pro složitější scénáře. Využití výkonných knihoven Java zajišťuje bezproblémovou funkčnost zvuku a lepší uživatelský zážitek v různých aplikacích.

Související příspěvky:

Zanechat komentář