조회 수 666 추천 수 1 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
예 일단 프로젝트에 winmm.lib 이라는 라이브러리를 추가한 후에, 다시 프로젝트에서 MMC.H 파일과 MMC.CPP 파일을 만듭니다.

그리고 MMC.H 파일에 다음을 삽입해주세요
#pragma once

#include "StdAfx.h"
#include <mmsystem.h>

class playMedia {
        protected:
                MCIDEVICEID wDeviceID;
        public:
                void ShowError(DWORD err);
                BOOL play(CString file);
                BOOL play();
};

그리고 MMC.CPP 파일에는 다음을 삽입해주세요
#include "StdAfx.h"
#include "MMC.H"

BOOL playMedia::play(CString file)
{
    DWORD dwReturn;
    MCI_OPEN_PARMS mciOpenParms;
    MCI_PLAY_PARMS mciPlayParms;    
    
    mciOpenParms.lpstrDeviceType = "MPEGVideo";
    mciOpenParms.lpstrElementName = file;
    if( dwReturn = mciSendCommand(NULL,MCI_OPEN,MCI_NOTIFY | MCI_OPEN_TYPE | MCI_OPEN_ELEMENT | MCI_WAIT,(DWORD)&mciOpenParms))
    {
        ShowError(dwReturn);
        return false;
    }
    
    wDeviceID = mciOpenParms.wDeviceID;
    //HWND hWnd = CWnd::FromHandle(CWindow::GetWindow(GW_OWNER));
    mciOpenParms.dwCallback = (DWORD)AfxGetMainWnd()->GetSafeHwnd();
    mciPlayParms.dwCallback = (DWORD)AfxGetMainWnd()->GetSafeHwnd();

    if(dwReturn = mciSendCommand(wDeviceID,MCI_PLAY,MCI_NOTIFY,(DWORD)&mciPlayParms))
    {
        ShowError(dwReturn);
        mciSendCommand(wDeviceID,MCI_CLOSE,0,NULL);
        return false;
    }
    return true;
}

void playMedia::ShowError(DWORD err)
{
    char buf[256];
    mciGetErrorString(err,buf,sizeof(buf));
    AfxMessageBox(buf,MB_OK | MB_ICONEXCLAMATION);
}

그 후에 음악을 재생시킬 파일에 맨위에 다음을 입력해주세요
playMedia g_Media;

그리고 음악을 재생시킬 함수 안에는
m_Media.play(" I do - 비.mp3");
I do - 비.mp3 안에 재생시키실 파일 이름을 적어주시면 됩니다.~

그리고 DirectX에서 재생하는 방법은 약간 저수준 방식입니다.
덕분에 지지직 거리는 음이나, 노이즈등 여러 효과를 넣을 수 있게 되었죠.
DirectX에서는 사운드 버퍼라는 것을 통해 사용자가 직접 음악 파일의 내용을 불러와서 그 안에 채워서 재생하는 방식입니다.
물론 현재 제가 가르쳐드린 방식도 그런 방식이지만, 그 내부 처리는 생략한 것 입니다.

그럼 즐거운 프로그래밍 하세요 ~//
?

List of Articles
번호 제목 글쓴이 날짜 조회 수
8841 @brrsim_7텔레그램 선불유심내구제 급전 뽀로로통신 선불유심매입 뽀로로통신 선불유심현금화하는업체 선불유심구매 간편무서류소액급전 선불유심내구제뽀로로통신 2026.07.07 63
8840 선불유심내구제 텔레그램@brrsim_7 선불유심매입 선불유심구매 뽀로로통신 급전 대학생내구제 비상금 연체자바로소액급전 주말소액급전 선불유심내구제뽀로로통신 2026.07.07 84
8839 @brrsim_7텔레그램 선불유심내구제 선불유심매입 선불폰내구제 뽀로로통신 급전 선불유심현금화하는업체 선불유심구매 무직신불자소액급전 선불유심내구제뽀로로통신 2026.07.07 56
8838 선불유심내구제 텔레그램@brrsim_7 급전 선불유심매입 뽀로로통신 청년비상금급전 내구제소액 소액급전 정식업체 선불유심구매 선불유심내구제뽀로로통신 2026.07.07 72
8837 선불유심내구제 텔레그램@brrsim_7 뽀로로통신 급전 선불유심매입 신불자소액내구제 연체자바로소액급전 선불유심구매 바로모바일급전 선불유심내구제뽀로로통신 2026.07.07 75
8836 선불유심삽니다 텔레그램@brrsim_7 선불유심내구제 뽀로로통신 선불유심매입 선불유심구매 소액내구제 급전 연체대납 바로소액급전 법인소액작업급전 선불유심내구제뽀로로통신 2026.07.07 80
8835 @brrsim_7텔레그램 선불폰유심내구제 선불유심매입 뽀로로통신 급전 선불유심내구제 급전해결내구제 선불유심현금화하는업체 선불유심구매 바로무직자급전 선불유심내구제뽀로로통신 2026.07.07 59
8834 선불유심매입 텔레그램@brrsim_7 선불유심내구제 뽀로로통신 바로소액내구제급전 선불유심구매 급전 선불유심매입 바로소액급전 무서류무방문급전 선불유심내구제뽀로로통신 2026.07.07 79
8833 @brrsim_7텔레그램 선불유심내구제 선불유심매입 뽀로로통신 급전 선불유심현금화하는업체 선불유심구매 백수바로급전내구제 선불유심내구제뽀로로통신 2026.07.07 77
8832 선불유심내구제 텔레그램@brrsim_7 선불유심매입 뽀로로통신 소액급전내구제 급전 연체자바로소액급전 선불유심구매 대학생용돈 선불유심내구제뽀로로통신 2026.07.07 70
8831 @brrsim_7텔레그램 선불유심내구제 뽀로로통신 급전 선불유심매입 유심현금화하는업체 무직비상금바로급전 선불유심구매 선불유심내구제뽀로로통신 2026.07.07 71
8830 선불유심내구제 정식업체 텔레그램@brrsim_7선불유심매입 뽀로로통신 소상공인긴급생활안정자금 급전 선불유심구매 선불유심내구제 소액급전대출 바로신불급전가능 선불유심내구제뽀로로통신 2026.07.07 62
8829 @brrsim_7텔레그램 선불유심매입 선불유심내구제 뽀로로통신 선불유심현금화하는업체 프리랜서소액급전 선불폰유심매입합니다 급전 선불유심구매 바로정산 선불유심내구제뽀로로통신 2026.07.07 76
8828 @brrsim_7텔레그램 선불유심내구제 선불유심매입 뽀로로통신 급전 선불유심현금화하는업체 선불유심구매 백수바로급전내구제 선불유심내구제뽀로로통신 2026.07.06 114
8827 쯔꾸르 mv 게임을 apk 파일로 변환했는데... 1 박하맛 2023.01.14 2256
8826 쯔꾸르 젖소이야기 결혼 방법좀 알려주세요... 2 백지씨 2021.12.20 3710
8825 apk포팅 승인 어케 하나요? game메이커xp 2021.11.29 2135
8824 Yanfly님의 Action Sequence Pack 질문드립니다 Neuromancer 2021.07.15 2673
8823 싸게 MV 를 먼저? 아니면 돈을 더 들어서라도 MZ? 2 Xatra 2021.07.06 2913
8822 RMMV - 스탯창과 대화창 변견 관련 질문입니다. (초보입니다 도움좀 주세요 ㅜㅜ) 2 scribble 2021.01.22 2505
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 443 Next
/ 443


[개인정보취급방침] | [이용약관] | [제휴문의] | [후원창구] | [인디사이드연혁]

Copyright © 1999 - 2016 INdiSide.com/(주)씨엘쓰리디 All Rights Reserved.
인디사이드 운영자 : 천무(이지선) | kernys(김원배) | 사신지(김병국)