PlaySound (coredll)
Last changed: -65.10.102.204

.
Summary
TODO - a short description

C# Signature:

VB Signature:

    <DllImport("coredll.dll")> _
Public Shared Function PlaySound( _
  ByVal szSound As String, _
  ByVal hModule As IntPtr, _
  ByVal flags As Integer) As Integer
    End Function

User-Defined Types:

    Private Enum PlaySoundFlags
        SND_SYNC = &H0          ' play synchronously (default)
        SND_ASYNC = &H1          ' play asynchronously
        SND_NODEFAULT = &H2          ' silence (!default) if sound not found
        SND_MEMORY = &H4          ' pszSound points to a memory file
        SND_LOOP = &H8          ' loop the sound until next sndPlaySound
        SND_NOSTOP = &H10          ' don't stop any currently playing sound
        SND_NOWAIT = &H2000          ' don't wait if the driver is busy
        SND_ALIAS = &H10000          ' name is a registry alias
        SND_ALIAS_ID = &H110000          ' alias is a predefined ID
        SND_FILENAME = &H20000          ' name is file name
        SND_RESOURCE = &H40004          ' name is resource name or atom
    End Enum

Notes:

None.

Tips & Tricks:

Please add some!

Sample Code:

Imports System

Imports System.Diagnostics

Imports System.IO

Imports System.Runtime.InteropServices

Public Class Sounds

    <Flags()> _
    Private Enum PlaySoundFlags
        SND_SYNC = &H0          ' play synchronously (default)
        SND_ASYNC = &H1          ' play asynchronously
        SND_NODEFAULT = &H2          ' silence (!default) if sound not found
        SND_MEMORY = &H4          ' pszSound points to a memory file
        SND_LOOP = &H8          ' loop the sound until next sndPlaySound
        SND_NOSTOP = &H10          ' don't stop any currently playing sound
        SND_NOWAIT = &H2000          ' don't wait if the driver is busy
        SND_ALIAS = &H10000          ' name is a registry alias
        SND_ALIAS_ID = &H110000          ' alias is a predefined ID
        SND_FILENAME = &H20000          ' name is file name
        SND_RESOURCE = &H40004          ' name is resource name or atom
    End Enum

    <DllImport("coredll.dll")> _
Public Shared Function PlaySound( _
  ByVal szSound As String, _
  ByVal hModule As IntPtr, _
  ByVal flags As Integer) As Integer
    End Function

    Public Shared Sub Play(ByVal fileName As String)
        Try
            PlaySound(fileName, IntPtr.Zero, PlaySoundFlags.SND_FILENAME Or _
              PlaySoundFlags.SND_SYNC)
        Catch ex As Exception
            MessageBox.Show("Can't play sound file. " & ex.ToString)
        End Try
    End Sub

End Class

Alternative Managed API:

Do you know one? Please contribute it!

Documentation
PlaySound on MSDN