天天@BLOG

脖子越来越疼,脑袋越来越钝
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

关于播放声音的解决方案

Posted on 2006-03-06 16:15  天天在线  阅读(252)  评论(0)    收藏  举报

//Class1.cs

using System;
using System.Runtime.InteropServices;

namespace namespace_name
{
public class API
{
// PlaySound
[DllImport("winmm.dll")]
public static extern bool PlaySound(
string pszSound,
IntPtr hmod,
PlaySoundFlags fdwSound
) ;

[Flags]
public enum PlaySoundFlags : long
{
SND_APPLICATION = 0x0080,
SND_ALIAS       = 0x00010000L,
SND_ALIAS_ID    = 0x00110000L,
SND_ASYNC       = 0x0001,
SND_FILENAME    = 0x00020000L,
SND_LOOP        = 0x0008,
SND_MEMORY      = 0x0004,
SND_NODEFAULT   = 0x0002,
SND_NOSTOP      = 0x0010,
SND_NOWAIT      = 0x00002000L,
SND_PURGE       = 0x0040,
SND_RESOURCE    = 0x00040004L,
SND_SYNC        = 0x0000
}
}
}


//放音
string FileWAV = "c:\\xxx.wav" ;
API.PlaySound(FileWAV, IntPtr.Zero, API.PlaySoundFlags.SND_FILENAME | API.PlaySoundFlags.SND_ASYNC) ;

//停止
API.PlaySound(null, IntPtr.Zero, API.PlaySoundFlags.SND_FILENAME | API.PlaySoundFlags.SND_ASYNC) ;

//语音格式有很多中,一般来说,只要是标准的Wave格式,PlaySound函数都可以播放。

@忙碌,不代表有效率;方法,远胜于苦干