
Hordhac Java Sound API
Java Sound API waa qalab awood leh oo loogu talagalay in lagu bixiyo taageerada codka dhammaan aaladaha. Waxay la socotaa Qalabka Horumarinta Java (JDK) waxayna awood u siisaa horumariyayaasha inay ciyaaraan, duubaan, oo farsameeyaan faylalka maqalka ee qaabab kala duwan. Maqaalkan, waxaan diirada saari doonaa aasaaska ku ciyaarista codka ee codsiyada Java iyadoo la adeegsanayo fasalada AudioClip iyo AudioSystem, kuwaas oo qayb ka ah Java Sound API.
Java Sound API waxa loo qaybin karaa laba xidhmo oo aasaasi ah: javax.cod.oo la muunadeeyay iyo javax.cod.midi. Xirmada muunada leh waxa loo istcmaalay in lagu maareeyo hawlaha aasaasiga ah ee maqalka sida ciyaarista, duubista, iyo habaynta xogta maqalka, halka xidhmada midi loo qorsheeyay in lagu maareeyo halabuurada muusiga ee ku salaysan MIDI iyo dhawaaqyada.
Ku ciyaarista Codka iyadoo la isticmaalayo AudioClip
Si aan u bilowno, aan sahamno sida loo daaciyo faylalka dhawaaqa anagoo adeegsanayna AudioClip interface, taas oo qayb ka ah java.applet xirmo. In kasta oo interface-ka AudioClip markii hore loo abuuray tufaaxa, haddana waa ku habboon yahay oo faa'iido u leeyahay ku ciyaarista faylalka maqalka yar ee codsiyada 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();
}
}
Qaybta kore ee koodka, waxaanu soo dejinay AudioClip interface iyo URL fasalka. Fasaladani waxay noo ogolaanayaan inaan shubno agab maqal oo aan ku ciyaarno anagoo adeegsanayna habka ciyaarta () ee tusaalaha AudioClip. Si aad u isticmaasho AudioClip, hubi inaad geliso faylka "sound.wav" isla tusaha faylkaaga Java ama bixi dariiqa faylka saxda ah.
Si kastaba ha noqotee, haddii aad ku shaqeyneyso faylal maqal ah oo waaweyn ama aad u baahan tahay kontorool dheeri ah oo ku saabsan dib-u-soo-celinta, interface-ka AudioClip kuma filna, waana inaad tixgelisaa isticmaalka fasalka AudioSystem.
Ku ciyaarista dhawaaqyada adoo isticmaalaya fasalka AudioSystem
The AudioSystem fasalka waa qayb ka mid ah xirmada javax.sound.sampled oo waxay siisaa awood dib-u-ciyaarid maqal oo horumarsan. Tusaalaha soo socdaa wuxuu muujinayaa sida loo daaro faylka maqalka ah iyadoo la isticmaalayo fasalka 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();
}
}
}
Tusaalahan, waxaan marka hore ka soo dhoofinay fasalada loo baahan yahay iyo isdhexgalka javax.cod.oo la muunadeeyay xirmo. Kadib, waxaan abuurnay a AudioInputStream shay si loo akhriyo xogta maqalka ah ee faylka, iyo a clip tusaale ahaan in xogta maqalka lagu hayo xusuusta. Ka dib furitaanka clip-ka, waxaan u yeernay habka bilowga () si aan u ciyaarno codka.
Habkani wuxuu bixiyaa kontorool badan oo ku saabsan dib-u-ciyaarista maqalka, oo ay ku jirto awoodda joojinta, dib-u-bilaabida, iyo joojinta codka, taasoo ka dhigaysa mid ku habboon codsiyo kala duwan.
Isku soo wada duuboo, waxaanu ka wada hadalnay laba hab oo kala duwan oo loo maro codadka Java iyadoo la isticmaalayo fasalada AudioClip iyo AudioSystem. Isku xirka AudioClip wuxuu ku habboon yahay faylalka maqalka yar ee codsiyada fudud, halka fasalka AudioSystem uu bixiyo awood dib-u-ciyaarid maqal sare leh oo loogu talagalay xaalado aad u adag. Ka faa'iidaysiga maktabadaha xoogga badan ee Java waxay hubisaa shaqaynta codka aan kala go'a lahayn iyo khibrad adeegsi oo la xoojiyey dhammaan codsiyada kala duwan.