SoundPlayer.PlaySync Method

Note: This method is new in the .NET Framework version 2.0.

Plays the .wav file using the user interface (UI) thread, and loads the .wav file first if it has not been loaded.

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

public void PlaySync ()
public void PlaySync ()
public function PlaySync ()

Exception typeCondition


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)

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.

.NET Framework

Supported in: 2.0