java.sun.com

   JAVA - Musik


 Startseite
 Bilder und Musik

 Indexverzeichnis


JAVA - Musik

Kurzübersicht
Musikdatei laden
Musikdatei abspielen
Interface AudioClip
Beispiel

  Seitenende


Kurzübersicht

Mit Java kann man auch Musik abspielen. Dabei ist wiederum zu beachten, daß diese Musikdateien oft eine nicht gerade geringe Größe haben und deshalb das Laden sehr lange dauern kann.


  Seitenanfang


Musikdatei laden

Dateiformat

Von den Browsern wird leider nur das JDK 1.1.5 unterstützt und daher auch nur ein Musikformat: *.au
Ab dem JDK 1.2 wird auch das *.wav-Format unterstützt. Die derzeitigen Browser unterstüzten allerdings nur das JDK 1.1.5 (außer Netscape 6.0)

Methoden

Wie auch bei den Bildern hat die Klasse java.applet.Applet zwei Methoden, um Musikdateien zu laden.

public AudioClip getAudioClip(URL url)
public AudioClip getAudioClip(URL url, String name)

URL ist wieder die absolute Adressierung und String bname die relative Adresse und der Dateiname im Bezug auf die absolute Adresse.

AudioClip-Objekt

Das Zuständige Objekt ist aus dem Interface java.applet.Audioclip. Dieses Interface ist ebenfalls, wie java.awt.Image, abstract, d.h. es kann keine Instanz der Klasse gebildet werden. Deshalb muß auch hier das Objekt über die Methode getAudioClip geladen werden.

Beispiel:

AudioClip musik;
musik = getAudioClip(getDocumentBase()."musik/Titel.au");


  Seitenanfang


Musikdatei abspielen

Um den AudioClip abzuspielen, gibt es zwei Methoden, play() und loop(). play() spielt die Datei einmal ab und beendet anschließend das Abspielen.

loop() spielt die Datei solange ab, bis entweder das Applet beendet oder das Abspielen mit stop() unterbrochen wird.

musik.play();
  oder
musik.loop();
musik.stop();

Es ist empfehlenswert, in des destroy-Methode des Applets die Methode stop() einzubauen, um das Risiko auszuschalten, daß das Musikstück aus irgendwelchen Gründen (was ab und zu mal vorkommt) trotzdem weiterspielt, obwohl man auf eine andere Internet-Seite gewechselt ist.


  Seitenanfang


Interface AudioClip

Das Interface AudioClip ist für das Abspielen von Musik-Dateien verantwortlich. Es stellt dafür drei Methoden zur Verfügung:

Die Bedeutung wurde bereits erklärt.

Interfaces sind Schnittstellen, die z.B. einen Zugriff auf externe Dateien ermöglichen. Sie haben keinen Konstruktor und daher kann man kein Objekt auf dem herkömmlichen Weg von ihnen bilden. Möchte man ein Objekt nutzen, benötigt man eine Methode, die ein entsprechendes Objekt zurück gibt. Eine solche Methode ist getAudioClip in der Klasse java.applet.Applet. Mit dem Objekt, das man zurück bekommt, kann man genau so arbeiten, wie mit allen anderen Objekten, also auch die Methoden des Interfaces nutzen.


  Seitenanfang


Beispiel

BeispielProgrammbeispiel: Ansehen
import java.awt.*;
import java.applet.*;

public class Musik extends Applet{
	
  AudioClip music = null;
	
  public void init(){
    music = getAudioClip(getCodeBase(),"musik/kuckuck.au");	
    music.loop();
    add(new Label("Wenn es euch langt, auf den Button klicken"));
    add(new Button("anhalten"));
  }
  
  public boolean action(Event e, Object arg){
    music.stop();
    return true;
  }

  public void destroy(){
    music.stop();
  }

}

In der Methode init wird die Musikdatei über getAudioClip geladen. Diese befindet sich im Unterverzeichnis musik und hat den Dateinamen kuckuck.au.Diese Musikdatei wird über music.loop(); abgespielt.

Sobald das Applet nicht mehr im Browser angezeigt wird, wird die Methode destroy aufgerufen. In ihr wird die Musikdatei über stop() angehalten.

Die Methode action wird immer dann aufgerufen, wenn entweder die Enter-Taste gedrückt wird, oder auf eine graphische Komponente geklickt wurde, also auch wenn auf den Button geklickt wird. Sie hält ebenfalls die Musikdatei an.


 
weiter:
zurück:
  HTML-Seiten laden
  Bilder
  Seitenanfang © 1999-2001  Brit Schröter