• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆-20  評(píng)論-89  文章-1  trackbacks-0
            開(kāi)發(fā)環(huán)境
            SDK:DirectX9.0b (Summer 2003)
            Visual C++ 6.0

            參考文檔:SDK文檔
            1) DirectShow->Getting Started->Setting Up the Build Environment
            2) DirectShow->DirectShow Reference->DirectShow Base Classes->Using the DirectShow Base Classes
            3) DirectShow->Getting Started->How To Play?a File

            測(cè)試?yán)樱篠DK文檔
            DirectShow->Getting Started->How To Play a File

            配置說(shuō)明:
            1. Tools->Options->Directories
            Include - 添加<SDK root>\Include
            Lib?????? - 添加<SDK root>\Lib
            ??????????? - 添加<SDK root>\SAMPLES\C++\DirectShow\BASECLASSES\DEBUG? // [注1]

            2. Build BaseClasses
            打開(kāi)<SDK root>\Samples\C++\DirectShow\BaseClasses\baseclasses.dsp,編譯debug得到Strmbasd.lib。 // [注2]

            3. Project->Setting->Link
            添加Strmbasd.lib

            4. 添加頭文件
            #include <Dshow.h>??????? // 所有DirectShow應(yīng)用程序必備
            #include <Streams.h>??????// 使用DirectShow基類(lèi)

            源代碼如下,代碼分析見(jiàn)參考文檔3)
            #include?<Dshow.h>
            #include?
            <Streams.h>
            #include?
            <stdio.h>

            void?main(void)
            {
            ????IGraphBuilder?
            *pGraph?=?NULL;
            ????IMediaControl?
            *pControl?=?NULL;
            ????IMediaEvent???
            *pEvent?=?NULL;

            ????
            //?Initialize?the?COM?library.
            ????HRESULT?hr?=?CoInitialize(NULL);
            ????
            if?(FAILED(hr))
            ????
            {
            ????????printf(
            "ERROR?-?Could?not?initialize?COM?library");
            ????????
            return;
            ????}


            ????
            //?Create?the?filter?graph?manager?and?query?for?interfaces.
            ????hr?=?CoCreateInstance(CLSID_FilterGraph,?NULL,?CLSCTX_INPROC_SERVER,?
            ????????????????????????IID_IGraphBuilder,?(
            void?**)&pGraph);
            ????
            if?(FAILED(hr))
            ????
            {
            ????????printf(
            "ERROR?-?Could?not?create?the?Filter?Graph?Manager.");
            ????????
            return;
            ????}


            ????hr?
            =?pGraph->QueryInterface(IID_IMediaControl,?(void?**)&pControl);
            ????hr?
            =?pGraph->QueryInterface(IID_IMediaEvent,?(void?**)&pEvent);

            ????
            //?Build?the?graph.?IMPORTANT:?Change?this?string?to?a?file?on?your?system.
            //????hr?=?pGraph->RenderFile(L"C:\\Example.avi",?NULL);
            ????hr?=?pGraph->RenderFile(L"E:\\DX90SDK\\Samples\\Media\\chicken.wmv",?NULL); // 打開(kāi)一個(gè)媒體文件
            ????
            if?(SUCCEEDED(hr))
            ????
            {
            ????????
            //?Run?the?graph.
            ????????hr?=?pControl->Run();
            ????????
            if?(SUCCEEDED(hr))
            ????????
            {
            ????????????
            //?Wait?for?completion.
            ????????????long?evCode;
            ????????????pEvent
            ->WaitForCompletion(INFINITE,?&evCode);

            ????????????
            //?Note:?Do?not?use?INFINITE?in?a?real?application,?because?it
            ????????????
            //?can?block?indefinitely.
            ????????}

            ????}

            ????pControl
            ->Release();
            ????pEvent
            ->Release();
            ????pGraph
            ->Release();
            ????CoUninitialize();
            }


            注1:該處可根據(jù)需要添加不同版本,如RELEASE/Debug_Unicode/Release_Unicode。
            注2:debug?- strmbasd.lib;release - strmbase.lib;另外還有對(duì)應(yīng)的Unicode版本。
            注3:步驟3缺,將導(dǎo)致
            error LNK2001: unresolved external symbol _IID_IMediaEvent
            error LNK2001: unresolved external symbol _IID_IMediaControl
            error LNK2001: unresolved external symbol _CLSID_FilterGraph
            error LNK2001: unresolved external symbol _IID_IGraphBuilder
            Debug/Howtoplayafile.exe : fatal error LNK1120: 4 unresolved externals
            Error executing link.exe.
            posted on 2006-10-17 17:49 夜舞重金屬 閱讀(6451) 評(píng)論(5)  編輯 收藏 引用 所屬分類(lèi): DirectShow

            評(píng)論:
            # re: DirectShow開(kāi)發(fā)環(huán)境配置及測(cè)試?yán)?VC6) 2007-02-05 09:01 | 醬菜
            寫(xiě)的挺認(rèn)真的,都是經(jīng)驗(yàn) 呵呵,LZ辛苦了
            哈哈   回復(fù)  更多評(píng)論
              
            # re: DirectShow開(kāi)發(fā)環(huán)境配置及測(cè)試?yán)?VC6) 2007-04-05 20:34 | lala
            謝謝樓主~~MSDN講的都沒(méi)有這么詳細(xì)
            我就卡在這堆error LINK上了~~非常感謝~:)  回復(fù)  更多評(píng)論
              
            # re: DirectShow開(kāi)發(fā)環(huán)境配置及測(cè)試?yán)?VC6) 2007-10-25 15:00 | LUCAS
            謝謝,LZ辛苦了  回復(fù)  更多評(píng)論
              
            # re: DirectShow開(kāi)發(fā)環(huán)境配置及測(cè)試?yán)?VC6) 2010-04-04 21:07 | 光著屁股玩游戲
            樓主同志,真的是個(gè)好同志。

              回復(fù)  更多評(píng)論
              
            # re: DirectShow開(kāi)發(fā)環(huán)境配置及測(cè)試?yán)?VC6) 2012-05-10 17:10 | flankechen
            感謝LZ的文章。
            很好,
            如果是Opencv的話可以看這個(gè)印度哥們的文章。
            http://www.aishack.in/2010/03/capturing-images-with-directx/

            直接寫(xiě)DS DX的東西實(shí)在是太麻煩了,看了大半天還沒(méi)個(gè)頭緒  回復(fù)  更多評(píng)論
              

            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


            久久精品午夜一区二区福利| 久久久久女人精品毛片| 国产三级久久久精品麻豆三级| 狠狠狠色丁香婷婷综合久久五月| 伊人热热久久原色播放www| 人人狠狠综合久久亚洲| 亚洲国产成人精品91久久久 | 欧美黑人激情性久久| 影音先锋女人AV鲁色资源网久久| 久久偷看各类wc女厕嘘嘘| 久久久久噜噜噜亚洲熟女综合| 国产毛片欧美毛片久久久| 欧美噜噜久久久XXX| 韩国无遮挡三级久久| www久久久天天com| 一本久久综合亚洲鲁鲁五月天| 精品无码人妻久久久久久| 国产精品久久久久久| 国产欧美久久久精品影院| 精品熟女少妇a∨免费久久| 久久影院亚洲一区| 国产农村妇女毛片精品久久| www性久久久com| 久久人人爽人人爽人人片AV高清| 亚洲AⅤ优女AV综合久久久| 久久亚洲中文字幕精品有坂深雪| 久久久精品人妻无码专区不卡| 久久婷婷国产综合精品| 久久久久这里只有精品| 久久99国产综合精品| 中文字幕热久久久久久久| 香蕉久久影院| 亚州日韩精品专区久久久| 日本久久久精品中文字幕| 国内精品久久久久久久久电影网| 成人国内精品久久久久影院| 久久久久久久波多野结衣高潮 | 成人久久免费网站| 精品久久人人爽天天玩人人妻| 久久香蕉国产线看观看乱码| 色综合久久无码五十路人妻|