public void PlaySync(NativeMethods.SoundFlags flags) { FreeHandle(); flags |= NativeMethods.SoundFlags.SND_SYNC; flags |= NativeMethods.SoundFlags.SND_MEMORY; NativeMethods.PlaySound(BytesToPlay, (UIntPtr)0, (uint)flags); }
private static void PlaySystemAsync(string systemName) { const NativeMethods.SoundFlags flags = NativeMethods.SoundFlags.SndAlias | NativeMethods.SoundFlags.SndAsync | NativeMethods.SoundFlags.SndNodefault; NativeMethods.PlaySound(systemName, UIntPtr.Zero, flags); }
private static void PlayFileAsync(string?path) { const NativeMethods.SoundFlags flags = NativeMethods.SoundFlags.SndFilename | NativeMethods.SoundFlags.SndAsync | NativeMethods.SoundFlags.SndNodefault; NativeMethods.PlaySound(path, UIntPtr.Zero, flags); }
private void Play(Stream stream, NativeMethods.SoundFlags flags) { byte[] bytesToPlay = GetBytes(stream); if (bytesToPlay != null) { this.handle = GCHandle.Alloc(bytesToPlay, GCHandleType.Pinned); NativeMethods.PlaySound(handle.Value.AddrOfPinnedObject(), UIntPtr.Zero, flags); } else { NativeMethods.PlaySound(null, UIntPtr.Zero, flags); } }
public void PlayASync(NativeMethods.SoundFlags flags) { FreeHandle(); flags |= NativeMethods.SoundFlags.SND_ASYNC; if (BytesToPlay != null) { gcHandle = GCHandle.Alloc(BytesToPlay, GCHandleType.Pinned); flags |= NativeMethods.SoundFlags.SND_MEMORY; NativeMethods.PlaySound(gcHandle.Value.AddrOfPinnedObject(), (UIntPtr)0, (uint)flags); } else { NativeMethods.PlaySound((byte[])null, (UIntPtr)0, (uint)flags); } }