C#

[C#/PDA]소리 재생 API 예제 소스

선영아 사랑해 2016. 2. 5. 09:42

PDA 프로그램을 개발하다보면 가장 많이(?) 사용하게되는 API가 이번에 소개하는 소리재생이 아닌가 싶습니다.

WIN CE/WINDOWS MOBILE에서 모두 사용이 가능하니 개발 할 때 참고하세요...


private enum Flags
{
    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.dll", EntryPoint = "PlaySound", SetLastError = true)]
private int PlaySound(string szSound, IntPtr hMod, int flags);


private void PlaySound(string filName)
{
    PlaySound(filName, IntPtr.Zero, (int)(Flags.SND_ASYNC | Flags.SND_FILENAME));
}