Microsoft KB Archive/179850

= How To Playing a .WAV file in Java =

Article ID: 179850

Article Last Modified on 11/14/2005

-

APPLIES TO


 * Microsoft Software Development Kit for Java 2.02
 * Microsoft Software Development Kit for Java 3.2
 * Microsoft Software Development Kit for Java 2.01
 * Microsoft Software Development Kit for Java 2.02
 * Microsoft Software Development Kit for Java 3.0
 * Microsoft Software Development Kit for Java 3.1
 * Microsoft Java 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); } }

