audio sound: implements java.applet.AudioClip : Sound « Development Class « Java






audio sound: implements java.applet.AudioClip

 

// This example is from the book _Java AWT Reference_ by John Zukowski.
// Written by John Zukowski.  Copyright (c) 1997 O'Reilly & Associates.
// You may study, use, modify, and distribute this example for any purpose.
// This example is provided WITHOUT WARRANTY either expressed or
import java.io.FileInputStream;
import java.net.URL;

import sun.audio.AudioData;
import sun.audio.AudioDataStream;
import sun.audio.AudioPlayer;
import sun.audio.AudioStream;
import sun.audio.ContinuousAudioDataStream;

public class SunAudioClip implements java.applet.AudioClip {
  private AudioData audiodata;
  private AudioDataStream audiostream;
  private ContinuousAudioDataStream continuousaudiostream;
  static int length;

  public SunAudioClip(URL url) throws java.io.IOException {
    audiodata = new AudioStream(url.openStream()).getData();
    audiostream = null;
    continuousaudiostream = null;
  }

  public SunAudioClip(String filename) throws java.io.IOException {
    FileInputStream fis = new FileInputStream(filename);
    AudioStream audioStream = new AudioStream(fis);
    audiodata = audioStream.getData();
    audiostream = null;
    continuousaudiostream = null;
  }

  public void play() {
    audiostream = new AudioDataStream(audiodata);
    AudioPlayer.player.start(audiostream);
  }

  public void loop() {
    continuousaudiostream = new ContinuousAudioDataStream(audiodata);
    AudioPlayer.player.start(continuousaudiostream);
  }

  public void stop() {
    if (audiostream != null)
      AudioPlayer.player.stop(audiostream);
    if (continuousaudiostream != null)
      AudioPlayer.player.stop(continuousaudiostream);
  }

  public static void main(String args[]) throws Exception {
    URL url1 = new URL("http://localhost:8080/audio/1.au");
    URL url2 = new URL("http://localhost:8080/audio/2.au");
    SunAudioClip sac1 = new SunAudioClip(url1);
    SunAudioClip sac2 = new SunAudioClip(url2);
    SunAudioClip sac3 = new SunAudioClip("1.au");
    sac1.play();
    sac2.loop();
    sac3.play();
    try { // Delay for loop
      Thread.sleep(2000);
    } catch (InterruptedException ie) {
    }
    sac2.stop();
  }
}

   
  








Related examples in the same category

1.Play sound
2.Duke Speaks
3.Duke Speaks Test
4.Sound Applet
5.Sound player
6.Simple program to try out the new Sound stuff in JDK1.2
7.Sound Application Sound Application
8.An example of loading and playing a sound using a ClipAn example of loading and playing a sound using a Clip
9.An example of playing a sound with an echo filter
10.The Filter3dTest class demonstrates the Filter3d functionality
11.Sound Manager TestSound Manager Test
12.An example that plays a Midi sequence
13.Determining When a Sampled Audio Player Has Finished Playing
14.Setting the Volume of a Sampled Audio Player
15.Determining the Position of a Sampled Audio Player
16.Load audio file From URL
17.Playing Streaming Sampled Audio
18.Determining the File Format of a Sampled Audio File
19.Loading and Playing Sampled Audio
20.Determining the Position of a Midi Sequencer
21.Continuously Playing a Sampled Audio File
22.Load image and sound from Jar file
23.Determine the duration of a Midi audio file
24.Playing Streaming Midi Audio
25.Capturing Audio with Java Sound API
26.A simple player for sampled sound files.
27.Load and play Midi audio
28.Play a streaming Midi audio
29.Determining When a Midi Audio Player Has Finished Playing
30.Float Control Component
31.This is a simple program to record sounds and play them back
32.Determining the Duration of a Midi Audio File
33.Loading and Playing Midi Audio
34.Determining the File Format of a Midi Audio File
35.Play an audio file from a JAR file
36.Setting the Volume of Playing Midi Audio
37.Make your own Java Media Player to play media files
38.Determining the Encoding of a Sampled Audio File
39.Determining the Duration of a Sampled Audio File