|
|
Applet'ler ses dosyalarını çalabilirler. Ancak bunun için ses dosyasının Java'nın desteklediği formatta olması lazımdır. Java'nın ilk desteklediği format ".au" formatıdır. Bunun dışında desteklenen formatlar browser'dan browser'a , Java'nın versiyonundan versiyonuna değişir. ".wav" formatı Internet Explorer'da destekleniyor örneğin. Ancak ".mp3" formatı için hiç bir standart destek yoktur.
Bir ses dosyası belli bir url'den çalınabilir :
URL url=new URL("http://www.myhost.com/mypath/mysound.au"); play(url);
aynı biçimde belli bir directory içerisindeki dosya da
URL path=new URL("http://www.myhost.com/mypath"); play(path,"mysound.au");
şeklinde çalınabilir.
Aslında ses dosyası bir AudioClip class'ı tarafından çalınır. Yukarıdaki çalma biçimi aslında
URL url=new URL("http://www.myhost.com/mypath/mysound.au"); AudioClip clip=getAuidoClip(url); clip.play();
şeklinde bir code'un kısa yoludur. Ancak AudioClip class'ının loop() diye bir method'u vardır ki aynı sesi sürekli çalar. Çalan sesi susturmak için bu class'da stop() method'u bulunur.
Bir düğmeye basınca bir ses çalmaya başlayan, bir başkasına basılınca da susan bir applet yapalım
SoundPlayerApplet.javaİndir Göster Gizle Kopar Satır Gizle Satır Göster |
1 import java.applet.*; 2 import java.awt.*; 3 import java.awt.event.*; 4 import java.net.*; 5 public class SoundPlayerApplet 6 extends Applet 7 implements ActionListener 8 { 9 private AudioClip clip=null; 10 public void init(){ 11 try{ 12 addButton("Loop"); 13 addButton("Silent"); 14 URL url=new URL("http://www.myhost.com/mypath/mysound.au"); 15 clip=getAudioClip(url); 16 }catch(Exception e){ 17 e.printStackTrace(); 18 } 19 } 20 private void addButton(String name){ 21 Button button=new Button("Loop!"); 22 button.addActionListener(this); 23 add(button); 24 } 25 public void actionPerformed(ActionEvent evt) { 26 Button button=(Button) evt.getSource(); 27 String label=button.getLabel(); 28 if(label.equals("Loop")){ 29 clip.loop(); 30 }else if(label.equals("Silent")){ 31 clip.stop(); 32 } 33 } 34 }
|
|