-
[WinAPI] 동영상 추가하기프로그래밍 공부/Win API 2023. 2. 17. 16:01728x90
동영상을 추가하기 위해선 다음 라이브러리와 헤더 파일이 필요하다.
#pragma comment (lib, "Vfw32.lib") #include <Vfw.h>
비디오를 사용하기 위해서는 핸들이 추가로 필요하다.
따라서 지역변수로 핸들을 선언해주었다.
class StoryScene : public GameNode { private: HWND video; public: ... };
이제 초기화 시에 동영상을 핸들에 만들어준다.
video = MCIWndCreate(_hWnd, NULL, MCIWNDF_NOPLAYBAR | WS_VISIBLE | WS_CHILD, "Resources/video/middleStory.wmv"); MoveWindow(video, 0, 0, WINSIZE_X, WINSIZE_Y, NULL);
영상 재생과 관련된 주요 함수는 다음과 같다.
MCIWndPlay(video); //비디오를 실행한다. (한 번만 실행) MCIWndGetLength(video); //비디오의 총 시간을 가져온다. MCIWndGetPosition(video); //비디오의 현재 플레이 시간을 가져온다. MCIWndStop(video); // 비디오 재생을 멈춘다. MCIWndClose(video); //비디오를 닫는다. MCIWndDestroy(video); //비디오를 삭제한다. (release에서 실행) SetWindowPos(video, 0, 0, 0, rc.right, rc.bottom, SWP_NOZORDER|SWP_NOMOVE) //동영상 출력 좌표 설정 MCIWndGetVolume(video); //비디오의 볼륨을 가져온다. MCIWndSetVolume(video,100); //비디오의 볼륨을 설정한다. MCIWndPause(video); //비디오를 일시정지한다. MCIWndResume(video); //비디오를 다시 재생시킨다.
이 때, 백버퍼가 켜져 있다면 영상이 계속 깜빡거리게 된다.
728x90'프로그래밍 공부 > Win API' 카테고리의 다른 글
[WinAPI] FMOD로 3D 음향 구현하기 (0) 2023.02.15 [WinAPI] STL 우선순위 큐(Priority Queue, PQueue) (0) 2023.02.15 [WinAPI] 프레임워크에 기반한 JSON 세이브로드(저장/파싱) (0) 2023.01.30 [WinAPI] Json 예제 작성 및 시도 (0) 2023.01.20 [WinAPI] 프레임워크 구축(17) - JSON 매니저 만들기 (0) 2023.01.19