프로그래밍 공부/Win API
[WinAPI] 동영상 추가하기
라케미아
2023. 2. 17. 16:01
728x90
동영상을 추가하기 위해선 다음 라이브러리와 헤더 파일이 필요하다.
#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