C_C++

(C언어) 스레드로 배경음악 재생하기

고니자니 2023. 6. 15. 22:21
반응형

C언어로 윈도우에서 배경음악을 출력하기 위해서는 Windows API와 스레드를 사용해야 합니다.

다음 예제는 윈도우에서 스레드를 이용해서 배경 음악을 출력하는 예제입니다.

#include <stdio.h>
#include <windows.h>
#include <mmsystem.h>
#pragma comment(lib,"winmm.lib")

// 배경음악 재생을 위한 스레드 함수
DWORD WINAPI PlayMusic(LPVOID lpParam)
{
    // 배경음악 재생
    PlaySound(TEXT("C:\\temp\\Alarm01.wav"), NULL, SND_FILENAME | SND_ASYNC | SND_LOOP);

    return 0;
}

int main()
{
    // 스레드 생성
    HANDLE hThread;
    DWORD threadId;
    hThread = CreateThread(NULL, 0, PlayMusic, NULL, 0, &threadId);

    if (hThread == NULL)
    {
        printf("스레드 생성에 실패했습니다.\n");
        return 1;
    }

    // 프로그램이 종료되기 전까지 스레드가 실행되도록 유지
    WaitForSingleObject(hThread, INFINITE);

    printf("press any key...");
    getchar();
    
    // 스레드 핸들 닫기
    CloseHandle(hThread);

    return 0;
}

스레드로 배경음악 재생하기

 

반응형