13 years C/C++/C# programing, focus on embedded and mobile device development.

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
using System;
using System.Runtime.InteropServices;
using System.Collections.Generic;
using System.Text;

namespace MiniCafe.Util
{
    
/// <summary>
    
/// internal helper class
    
/// </summary>

    internal class Helpers
    
{
        [Flags]
        
public enum PlaySoundFlags : int
        
{
            SND_SYNC 
= 0x0000/* play synchronously (default) */
            SND_ASYNC 
= 0x0001/* play asynchronously */
            SND_NODEFAULT 
= 0x0002/* silence (!default) if sound not found */
            SND_MEMORY 
= 0x0004/* pszSound points to a memory file */
            SND_LOOP 
= 0x0008/* loop the sound until next sndPlaySound */
            SND_NOSTOP 
= 0x0010/* don't stop any currently playing sound */
            SND_NOWAIT 
= 0x00002000/* don't wait if the driver is busy */
            SND_ALIAS 
= 0x00010000/* name is a registry alias */
            SND_ALIAS_ID 
= 0x00110000/* alias is a predefined ID */
            SND_FILENAME 
= 0x00020000/* name is file name */
            SND_RESOURCE 
= 0x00040004 /* name is resource name or atom */
        }

        [DllImport(
"coredll")]
        
public static extern bool PlaySound(string szSound, IntPtr hMod,PlaySoundFlags flags);
    }

    
/// <summary>
    
/// sound class to play a file
    
/// </summary>

    public class Sound
    
{
        
public static void Play(string strFileName)
        
{
            Helpers.PlaySound(strFileName, IntPtr.Zero,
            Helpers.PlaySoundFlags.SND_FILENAME 
| Helpers.PlaySoundFlags.SND_ASYNC);
        }

    }

}

posted on 2006-11-10 17:11  woaiusd  阅读(391)  评论(0编辑  收藏  举报