SoundPlayer.PlaySync Method ()


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

Plays the .wav file and loads the .wav file first if it has not been loaded.

Namespace:   System.Media
Assembly:  System (in System.dll)

public void PlaySync()

Exception Condition

The elapsed time during loading exceeds the time, in milliseconds, specified by LoadTimeout.


The file specified by SoundLocation cannot be found.


The .wav header is corrupted; the file specified by SoundLocation is not a PCM .wav file.

The PlaySync method uses the current thread to play a .wav file, preventing the thread from handling other messages until the load is complete. You can use the LoadAsync or Load method to load the .wav file to memory in advance. After a .wav file is successfully loaded from a Stream or URL, future calls to playback methods for the SoundPlayer will not need to reload the .wav file until the path for the sound changes.

If the .wav file has not been specified or it fails to load, the PlaySync method will play the default beep sound.

The following code example demonstrates the use of the PlaySync method to synchronously play a .wav file.

private SoundPlayer Player = new SoundPlayer();
private void loadSoundAsync()
	// Note: You may need to change the location specified based on
	// the location of the sound to be played.
	this.Player.SoundLocation = "";

private void Player_LoadCompleted (
          object sender, 
          System.ComponentModel.AsyncCompletedEventArgs e)
    if (this.Player.IsLoadCompleted)


for reading files. Associated enumeration: FileIOPermissionAccess.Read


for access to native code. Associated enumeration: UIPermissionWindow.SafeSubWindows

.NET Framework
Available since 2.0
Return to top