미디어
-
DirectShow(2)미디어/동영상 2010. 5. 10. 11:00
VS2005 여기에서 Windows(Platform?) SDK를 다운받아서 설치한다. 여기에서 DirectX SDK를 다운받아서 설치한다. 도구(Tools)|옵션(Options)|프로젝트 및 솔루션|VC++ 디렉터리 항목|다음 파일의 디렉터리 표시|실행 파일 C:\Program Files\Microsoft SDKs\Windows\v6.1\Bin C:\Program Files\Microsoft DirectX SDK (February 2010)\Developer Runtime\x86 ... 도구(Tools)|옵션(Options)|프로젝트 및 솔루션|VC++ 디렉터리 항목|다음 파일의 디렉터리 표시|포함 파일 C:\Program Files\Microsoft SDKs\Windows\v6.1\Include C:\..
-
동영상 - MCI미디어/동영상 2009. 8. 29. 14:50
MCIWndCreate() MCIWNDF_NOTIFYMODE MCIWNDF_NOTIFYPOS MCIWndDestroy() MCIWndClose() MCIWndPlay() on MCIWNDM_NOTIFYMODE MCI_MODE_PLAY MCI_MODE_STOP on MCIWNDM_NOTIFYPOS #include LRESULT CALLBACK WndProc(HWND hWnd,UINT iMessage,WPARAM wParam,LPARAM lParam) { static HWND hWndAVI=0; switch (iMessage) { case WM_LBUTTONDOWN: if (hWndAVI) { MCIWndClose(hWndAVI); MCIWndDestroy(hWndAVI); hWndAVI=0; } hWndA..
-
사운드미디어/동영상 2009. 8. 22. 22:35
PlaySound() Wave 파일 형태로 된 사운드 파일만 연주할 수 있다. SND_RESOURCE SND_ASYNC #include #include "resource.h" LRESULT CALLBACK WndProc(HWND hWnd,UINT iMessage,WPARAM wParam,LPARAM lParam) { switch (iMessage) { case WM_LBUTTONDOWN: PlaySound(MAKEINTRESOURCE(IDR_WAVE1), g_hInst, SND_RESOURCE | SND_ASYNC); return 0; case WM_DESTROY: PlaySound(NULL, NULL, 0); PostQuitMessage(0); return 0; case WM_RBUTTONDOWN: P..
-
MCI(Media Control Interface)미디어/동영상 2009. 8. 18. 23:03
Windows Multi-Media extensions library WINMM.DLL MCI는 WAVE 파일, AVI 파일(Audio-Video Interleaded), MPEG 파일, CD-AUDIO를 비롯한 각종 매체를 다룰 수 있다. VFW(Video For Windows)를 통합 MFC에는 멀티미디어 기능을 직접 지원하는 클래스가 없다. Audio Stream amplitude Bits Per Sample Number Of Channels separate streams of audio Sample Rate (Hz * Sample Bit Rate * Channels)/(Bits Per Byte) = Bytes Per Second PCM(Pulse Code Modulation) audio forma..
-
파서 필터 - DirectShow미디어/필터 2009. 3. 1. 20:19
CTransformFilter // 입력 핀의 미디어 협상 .CheckInputType() // virtural called by CTransformInputPin::CheckInputType() // ??? .{SetInternalBufferSize}() .{SetMediaType}() .GetMediaType() // virtual called by CTransformOutputPin::GetMediaType() // ??? 출력 핀의 미디어 타입 협상 .CheckTransform() // virtual 출력 핀의 미디어 타입 협상이 완료될 수 있는지 여부 .DecideBufferSize() // virtual 출력 핀의 버퍼 협상 .Transform() // virtual call .{CopySam..
-
렌더 필터 - DirectShow미디어/필터 2009. 2. 26. 00:34
미디어 검색 처리가 진행되려면 렌더 필터가 반드시 IMediaSeeking를 구현해야 한다. 기본 렌더 필터 CBaseRenderer .CheckMediaType() // virtural 입력 핀에 연결될 미디어형을 검사 on DoRenderSample OnPaint on Pause on BreakConnect .EndOfStream() 필터그래프매니저에 EC_COMPLETE 이벤트를 전달 IMediaSeeking // CRendererPosPassThru 위 쪽 필터로 전달 IVideoWindow CRendererInputPin -> CBaseInputPin .EndOfStream() CBaseControlWindow IVideoWindow .SetControlWindowPin() .GetClassWi..
-
변환 필터 - DirectShow미디어/필터 2009. 2. 25. 23:36
복사 변환 필터 CTransformFilter .CheckInputType() // virtual 입력 핀과의 미디어 타입 협상 .GetMediaType() // virtual called by CTransformOutputPin::GetMediaType() // ??? 출력 핀의 미디어 타입 협상 .CheckTransform() // virtual 출력 핀의 미디어 타입 협상이 완료될 수 있는지 여부 .DecideBufferSize() // virtual 출력 핀의 버퍼 협상 .EndOfStream() .Transform() // virtual call .{CopySample}() call .{MyTransform}() .BeginFlush() // called by CTransformInputPin:..
-
소스 필터 - DirectShow미디어/필터 2009. 2. 20. 22:37
파일 소스네트워크 소스외부 장치 소스화면 소스(?) // 캡쳐??미디어 검색(IMediaSeeking or IMediaPosition) 기능을 구현가기 위해서는 소스 필터의 출력 핀에서 IMediaSeeking를 구현해야 한다.pull 모드파서 필터와 연결되기 위해서는 미디어형이 필요주타입: MEDIATYPE_Stream부타입: MEDIASUBTYPE_NULL // MEDIASUBTYPE_Avi, MEDIASUBTYPE_WAVE, MEDIASUBTYPE_AIFF(?), MEDIASUBTYPE_AU(?)CAsyncReader -> CBaseFilter.LoadType() // Access our media type.Connect(()m_Io // CAsyncIom_Stream /..