How To Playing a .WAV file in Java (179850)



The information in this article applies to:

  • Microsoft SDK for Java 2.0
  • Microsoft SDK for Java 3.2
  • Microsoft SDK for Java 2.01
  • Microsoft SDK for Java 2.02
  • Microsoft SDK for Java 3.0
  • Microsoft SDK for Java 3.1
  • Microsoft virtual machine

This article was previously published under Q179850

SUMMARY

The Applet and AudioClip class only play .AU files. Microsoft offers two solutions to play .WAV files when using the Microsoft virtual machine.

The Microsoft SDK for Java 2.0 and later includes a sample, DirectX3\dSound, demonstrating how to use DirectSound to play .WAV files from a URL. It is also possible to use the Winmm class to play a .WAV file from the local drive, although your program must be trusted.

MORE INFORMATION

The sample code below demonstrates how to use the Winmm class to play a .WAV file. This sample requires you place a .WAV file in the current directory and name the file "sound.wav".

Sample Code

import com.ms.win32.Winmm;
import com.ms.win32.wins;

public class PlayWav {
  public static void main(String args[])
  {
    WavAudio ac = new WavAudio("sound.wav");
    System.out.println("Looping sound...");
    ac.loop();
    try {
      Thread.sleep(20000);
    } catch (Exception e) {
    }
    System.out.println("stoping audio.");
    ac.stop();
  }
}

class WavAudio {
  String wavFile=null;
  public WavAudio(String file) {
    wavFile=file;
  }
  public void stop() {
    Winmm.PlaySound(null,0,
       wins.SND_ASYNC|wins.SND_FILENAME|wins.SND_NOWAIT);
  }
  public void play() {
    stop();
    Winmm.PlaySound(wavFile,0,
      wins.SND_ASYNC|wins.SND_FILENAME|wins.SND_NOWAIT);
  }
  public void loop() {
    Winmm.PlaySound(wavFile,0,
      wins.SND_ASYNC|wins.SND_LOOP|wins.SND_FILENAME|wins.SND_NOWAIT);
  }
}
				

REFERENCES

For more information please see the Microsoft SDK for Java documentation, available at http://www.microsoft.com/mscorp/java/

For additional information, please see the following article in the Microsoft Knowledge Base:

178707 Unable to play .Wav file from Applet or Audio Clip


Modification Type:MinorLast Reviewed:11/14/2005
Keywords:kbhowto KB179850