DirectShow를 이용한 동영상 재생기 구현 (프로젝트 파일 첨부)
*제*
다운로드
장바구니
소개글
본 레포트는 멀티미디어 신호처리 과목에서 배우는 내용을 다룬 프로젝트 레포트로서visual C++ 을 이용하여 구현하였으며 DirectShow를 이용한 이번 동영상 재생기 구현
프로젝트는 멀티미디어 신호처리 수업시간에 배운 멀티미디어 동기화 및 video 압축
기술들에 대한 보다 완전한 이해를 위하여 실제 동영상 재생기를 구현하여 보는 것을
그 목적으로 한다. 추천교재인 ‘DirectShow 멀티미디어 프로그래밍’을 참조하여
기본적으로 기존에 우리가 흔히 쓰는 동영상재생기의 기본 기능들의 충실한 구현에
중점을 두었으며 추가적으로 필요한 기능들을 첨가하도록 하였다.
컴파일 실행환경
Microsoft Visual Studio .NET 2003 / DirectShow본문내용
본인이 개발한 동영상 재생기는 아래 그림과 같이 사용자와의 상호 작용을 위한 재생기UI와 UI에서 발생하는 모든 이벤트에 대하여 UI로부터 전달받은 메시지를 처리하는 엔진으로
구성되어 있다. 동영상 재생기 엔진은 순수한 표준 C 언어로 작성되었으며, UI에서 전달해
주는 메시지 처리 방식으로 구현되어 있다. 즉, UI 측에서 특정 이벤트가 발생하였을 경우,
해당 이벤트 처리를 위한 메시지를 엔진에 넘겨주면, 엔진은 그 메시지 처리 루틴을 수행하고,
수행 결과를 UI 측에 전달한다. 그리고 UI는 사용자에게 결과를 알려줌으로 사용자와
재생기가 상호 작용을 통하여 컨텐츠를 재생할 수 있다.
////////////////////////////////////////////////////////////////////////////////
이제 ‘이전’기능을 담당하는 CJewooPlayerApp::OnPreviousClip() 멤버함수를 살펴보면
앞장의 코드와 같이 필터그래프매니저(m_pGB)로부터 IMediaSeeking 인터베이스를 요청하고
IMediaSeeking:: SetPositions() 함수를 요청한다.
IMediaSeeking::SetPositions() 함수는 현재 위치와 정지 위치를 함께 지정할 수 있다.
앞에 있는 두 매개변수가 현재 위치를, 뒤에 있는 두 매개변수는 정지위치를 지정한다.
둘 중 하나만 설정할 수도 있으며, 그럴 경우 ‘NULL’과 ‘AM_SEEKING_NoPositioning’
을 짝으로 사용하면 된다.
압축파일 내 파일목록
DirectShow를 활용한 동영상 재생기.docx
DirectShow를 활용한 동영상 재생기/Auxiliary.cpp
DirectShow를 활용한 동영상 재생기/Auxiliary.h
DirectShow를 활용한 동영상 재생기/JewooPlayer.aps
DirectShow를 활용한 동영상 재생기/JewooPlayer.cpp
DirectShow를 활용한 동영상 재생기/JewooPlayer.ncb
DirectShow를 활용한 동영상 재생기/JewooPlayer.opt
DirectShow를 활용한 동영상 재생기/JewooPlayer.plg
DirectShow를 활용한 동영상 재생기/JewooPlayer.rc
DirectShow를 활용한 동영상 재생기/JewooPlayer.sln
DirectShow를 활용한 동영상 재생기/JewooPlayer.vcproj
DirectShow를 활용한 동영상 재생기/JewooPlayerApp.cpp
DirectShow를 활용한 동영상 재생기/JewooPlayerApp.h
DirectShow를 활용한 동영상 재생기/ReadMe.txt
DirectShow를 활용한 동영상 재생기/resource.h
DirectShow를 활용한 동영상 재생기/StdAfx.cpp
DirectShow를 활용한 동영상 재생기/StdAfx.h
DirectShow를 활용한 동영상 재생기/Debug/Auxiliary.obj
DirectShow를 활용한 동영상 재생기/Debug/Auxiliary.sbr
DirectShow를 활용한 동영상 재생기/Debug/BuildLog.htm
DirectShow를 활용한 동영상 재생기/Debug/JewooPlayer.exe
DirectShow를 활용한 동영상 재생기/Debug/JewooPlayer.obj
DirectShow를 활용한 동영상 재생기/Debug/JewooPlayer.pch
DirectShow를 활용한 동영상 재생기/Debug/JewooPlayer.pdb
DirectShow를 활용한 동영상 재생기/Debug/JewooPlayer.res
DirectShow를 활용한 동영상 재생기/Debug/JewooPlayer.sbr
DirectShow를 활용한 동영상 재생기/Debug/JewooPlayerApp.obj
DirectShow를 활용한 동영상 재생기/Debug/JewooPlayerApp.sbr
DirectShow를 활용한 동영상 재생기/Debug/StdAfx.obj
DirectShow를 활용한 동영상 재생기/Debug/StdAfx.sbr
DirectShow를 활용한 동영상 재생기/Debug/vc70.idb
DirectShow를 활용한 동영상 재생기/Debug/vc70.pdb
DirectShow를 활용한 동영상 재생기/Release/Auxiliary.obj
DirectShow를 활용한 동영상 재생기/Release/BuildLog.htm
DirectShow를 활용한 동영상 재생기/Release/JewooPlayer.exe
DirectShow를 활용한 동영상 재생기/Release/JewooPlayer.obj
DirectShow를 활용한 동영상 재생기/Release/JewooPlayer.pch
DirectShow를 활용한 동영상 재생기/Release/JewooPlayer.res
DirectShow를 활용한 동영상 재생기/Release/JewooPlayerApp.obj
DirectShow를 활용한 동영상 재생기/Release/StdAfx.obj
DirectShow를 활용한 동영상 재생기/Release/vc70.idb
DirectShow를 활용한 동영상 재생기/res/normal.ico
DirectShow를 활용한 동영상 재생기/res/small.ico
DirectShow를 활용한 동영상 재생기/res/Thumbs.db
DirectShow를 활용한 동영상 재생기/res/toolbar1.bmp
DirectShow를 활용한 동영상 재생기/Auxiliary.cpp
DirectShow를 활용한 동영상 재생기/Auxiliary.h
DirectShow를 활용한 동영상 재생기/JewooPlayer.aps
DirectShow를 활용한 동영상 재생기/JewooPlayer.cpp
DirectShow를 활용한 동영상 재생기/JewooPlayer.ncb
DirectShow를 활용한 동영상 재생기/JewooPlayer.opt
DirectShow를 활용한 동영상 재생기/JewooPlayer.plg
DirectShow를 활용한 동영상 재생기/JewooPlayer.rc
DirectShow를 활용한 동영상 재생기/JewooPlayer.sln
DirectShow를 활용한 동영상 재생기/JewooPlayer.vcproj
DirectShow를 활용한 동영상 재생기/JewooPlayerApp.cpp
DirectShow를 활용한 동영상 재생기/JewooPlayerApp.h
DirectShow를 활용한 동영상 재생기/ReadMe.txt
DirectShow를 활용한 동영상 재생기/resource.h
DirectShow를 활용한 동영상 재생기/StdAfx.cpp
DirectShow를 활용한 동영상 재생기/StdAfx.h
DirectShow를 활용한 동영상 재생기/Debug/Auxiliary.obj
DirectShow를 활용한 동영상 재생기/Debug/Auxiliary.sbr
DirectShow를 활용한 동영상 재생기/Debug/BuildLog.htm
DirectShow를 활용한 동영상 재생기/Debug/JewooPlayer.exe
DirectShow를 활용한 동영상 재생기/Debug/JewooPlayer.obj
DirectShow를 활용한 동영상 재생기/Debug/JewooPlayer.pch
DirectShow를 활용한 동영상 재생기/Debug/JewooPlayer.pdb
DirectShow를 활용한 동영상 재생기/Debug/JewooPlayer.res
DirectShow를 활용한 동영상 재생기/Debug/JewooPlayer.sbr
DirectShow를 활용한 동영상 재생기/Debug/JewooPlayerApp.obj
DirectShow를 활용한 동영상 재생기/Debug/JewooPlayerApp.sbr
DirectShow를 활용한 동영상 재생기/Debug/StdAfx.obj
DirectShow를 활용한 동영상 재생기/Debug/StdAfx.sbr
DirectShow를 활용한 동영상 재생기/Debug/vc70.idb
DirectShow를 활용한 동영상 재생기/Debug/vc70.pdb
DirectShow를 활용한 동영상 재생기/Release/Auxiliary.obj
DirectShow를 활용한 동영상 재생기/Release/BuildLog.htm
DirectShow를 활용한 동영상 재생기/Release/JewooPlayer.exe
DirectShow를 활용한 동영상 재생기/Release/JewooPlayer.obj
DirectShow를 활용한 동영상 재생기/Release/JewooPlayer.pch
DirectShow를 활용한 동영상 재생기/Release/JewooPlayer.res
DirectShow를 활용한 동영상 재생기/Release/JewooPlayerApp.obj
DirectShow를 활용한 동영상 재생기/Release/StdAfx.obj
DirectShow를 활용한 동영상 재생기/Release/vc70.idb
DirectShow를 활용한 동영상 재생기/res/normal.ico
DirectShow를 활용한 동영상 재생기/res/small.ico
DirectShow를 활용한 동영상 재생기/res/Thumbs.db
DirectShow를 활용한 동영상 재생기/res/toolbar1.bmp