İçindekilerGirişİndex
YukarıİlkÖncekiSonraki YokSon
Geriİleri
Yazdır

Ses Çalma

Ses Dosyası Formatı

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.

Ses Dosyası Çalma

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.

AudioClip class'ı

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 }

Dosya Listesi

İçindekilerGirişİndex
YukarıİlkÖncekiSonraki YokSon
Geriİleri
Yazdır