• <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>

            Tauruser

            Enjoy Every Day
            posts - 34, comments - 95, trackbacks - 0, articles - 5
              C++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

            VC++2005 比 VC++ 6.0 退步了?

            Posted on 2006-03-25 14:43 Tauruser 閱讀(7532) 評論(12)  編輯 收藏 引用

              小組已經(jīng)決定開發(fā)對于內(nèi)部網(wǎng)適用的網(wǎng)絡(luò)電視,這兩天一直就在查找使用Windows Media Player ActiveX控件開發(fā)播放功能的方法。在網(wǎng)上找了好些書,也到MSDN上找過了,并安裝了Windows Media Player SDK工具包。無奈都找不到有講解在VC++2005下的文章,VC++2003也好啊。是否這兩個平臺都還沒出說明文檔,只是找到了VC6.0下的幫助。SDK Sample里還是有源代碼和SDK幫助文檔里也談了一些。可惜全是E文來的(痛苦)。
              一開始對著SDK幫助文檔,在2005下操作。雖然我知道文檔寫的是6.0下的情況,但是我想應(yīng)該不會相差太大的。依葫蘆畫瓢的東西就不說了。將WMP控件添加到窗體,給它添加成控件變量。然后想在菜單中添加一個項目,點擊的時候就可以播放特點的URL。就在這一步,問題來了。調(diào)用控件變量時,發(fā)現(xiàn)并沒有多少成員函數(shù)可以給我調(diào)用,文檔里顯示有的函數(shù),2005的智能感應(yīng)也沒法顯示出來。到底是哪里的問題。
              無奈,使用VC6.0照著多做一次,終于發(fā)現(xiàn)區(qū)別了。6.0里添加變量之后,VC自動生成了很多類。看一下這些頭文件就知道了。

            #include? " wmpplayer4.h "

            // ?Dispatch?interfaces?referenced?by?this?interface
            #include? " wmpcontrols.h "
            #include?
            " WMPSettings.h "
            #include?
            " wmpmedia.h "
            #include?
            " wmpmediacollection.h "
            #include?
            " wmpplaylistcollection.h "
            #include?
            " wmpnetwork.h "
            #include?
            " wmpplaylist.h "
            #include?
            " wmpcdromcollection.h "
            #include?
            " wmpclosedcaption.h "
            #include?
            " WMPError.h "
            #include?
            " wmpdvd.h "
            #include?
            " WMPPlayerApplication.h "

              每個頭文件都對應(yīng)了一個類。而在2005下,僅是簡簡單單了生成了一個類似于CWMPPlayer4的類。而且類中的內(nèi)容也縮水了。6.0下生成的CWMPPlayer4已經(jīng)可以提供很多功能了如:

            public :
            ????
            void ?close();
            ????CString?GetUrl();
            ????
            void ?SetUrl(LPCTSTR?lpszNewValue);
            ????
            long ?GetOpenState();
            ????
            long ?GetPlayState();
            ????CWMPControls?GetControls();
            ????CWMPSettings?GetSettings();
            ????CWMPMedia?GetCurrentMedia();
            ????
            void ?SetCurrentMedia(LPDISPATCH?newValue);
            ????CWMPMediaCollection?GetMediaCollection();
            ????CWMPPlaylistCollection?GetPlaylistCollection();
            ????CString?GetVersionInfo();
            ????
            void ?launchURL(LPCTSTR?bstrURL);
            ????CWMPNetwork?GetNetwork();
            ????CWMPPlaylist?GetCurrentPlaylist();
            ????
            void ?SetCurrentPlaylist(LPDISPATCH?newValue);
            ????CWMPCdromCollection?GetCdromCollection();
            ????CWMPClosedCaption?GetClosedCaption();
            ????BOOL?GetIsOnline();
            ????CWMPError?GetError();
            ????CString?GetStatus();
            ????CWMPDVD?GetDvd();
            ????CWMPPlaylist?newPlaylist(LPCTSTR?bstrName,?LPCTSTR?bstrURL);
            ????CWMPMedia?newMedia(LPCTSTR?bstrURL);
            ????BOOL?GetEnabled();
            ????
            void ?SetEnabled(BOOL?bNewValue);
            ????BOOL?GetFullScreen();
            ????
            void ?SetFullScreen(BOOL?bNewValue);
            ????BOOL?GetEnableContextMenu();
            ????
            void ?SetEnableContextMenu(BOOL?bNewValue);
            ????
            void ?SetUiMode(LPCTSTR?lpszNewValue);
            ????CString?GetUiMode();
            ????BOOL?GetStretchToFit();
            ????
            void ?SetStretchToFit(BOOL?bNewValue);
            ????BOOL?GetWindowlessVideo();
            ????
            void ?SetWindowlessVideo(BOOL?bNewValue);
            ????BOOL?GetIsRemote();
            ????CWMPPlayerApplication?GetPlayerApplication();
            ????
            void ?openPlayer(LPCTSTR?bstrURL);

              相反在2005下的生成的類一點成相應(yīng)的成員函數(shù)都沒有提供。(郁悶)
              照著6.0下的源碼給2005添加相應(yīng)的成員函數(shù),bingo正常工作了。
              難道我以后的工程都要在6.0下先生成代碼,然后再COPY到2005下。(天啊,折磨人啊)
              到底是2005比6.0退步了,還是我不會用2005?怎么回事?


            ?

            Feedback

            # re: VC++2005 比 VC++ 6.0 退步了?  回復(fù)  更多評論   

            2006-03-25 15:52 by Donne
            用MapObjects進行VC二次開發(fā)也有這個問題!

            # re: VC++2005 比 VC++ 6.0 退步了?  回復(fù)  更多評論   

            2006-03-29 10:39 by reviver
            我覺得VS.net的編譯速度也要比VC6慢得多

            # re: VC++2005 比 VC++ 6.0 退步了?  回復(fù)  更多評論   

            2006-03-30 21:54 by jemmy
            2005相對VC6,更符合C++標(biāo)準(zhǔn),不要被VC6慣壞了

            # re: VC++2005 比 VC++ 6.0 退步了?  回復(fù)  更多評論   

            2006-03-31 10:24 by sPhinX
            有點懷疑,做網(wǎng)絡(luò)電視,用Windows Media Player ActiveX控件就可以了?不知道控件能不能完全滿足你的需要,我還是覺得這些東西還是用DirectShow自己來實現(xiàn)放心一些。

            # re: VC++2005 比 VC++ 6.0 退步了?  回復(fù)  更多評論   

            2006-04-05 14:46 by 夢天堂
            我學(xué)校用的是VC++6.0
            感覺還不錯

            # re: VC++2005 比 VC++ 6.0 退步了?  回復(fù)  更多評論   

            2006-06-19 09:32 by lqicc
            CWMPPlaylist newPlaylist(LPCTSTR bstrName, LPCTSTR bstrURL);
            請問這個怎么用啊。
            我在VC下,怎么總會出現(xiàn)錯誤。
            我想實現(xiàn)的是,在一個關(guān)于音樂文件的列表中的數(shù)據(jù),放到Windows Media Player的播放列表中。
            謝謝!

            # re: VC++2005 比 VC++ 6.0 退步了?  回復(fù)  更多評論   

            2007-06-10 00:32 by ljzpzh
            在網(wǎng)上下了個VC++6.0,編譯過程經(jīng)常操作無反映,郁悶.哪位好心人有正版的捐出來大家分享一下.先謝過了.

            # re: VC++2005 比 VC++ 6.0 退步了?  回復(fù)  更多評論   

            2007-06-10 12:01 by 星夢情緣
            正在學(xué)習(xí)VC++6.0中..................

            # re: VC++2005 比 VC++ 6.0 退步了?  回復(fù)  更多評論   

            2007-07-13 00:14 by yuanrichard
            你自己不會用別怪開發(fā)環(huán)境,vc05對c++標(biāo)準(zhǔn)的支持更好了,改進的東西多了很多,那個添加activex不是象你那樣做的,從vs03開始就可以通過右擊項目,選擇添加類菜單添加這種Activex的類支持了,在添加類里面有個從Activex控件添加mfc類,選擇這個就可以添加Windows Media Player ActiveX的類了,然后再添加變量生成的對應(yīng)的類的接口就都完善了。做網(wǎng)絡(luò)電視播放用這個控件不好用,很多格式支持不行的,不如自己開發(fā)一個。

            # re: VC++2005 比 VC++ 6.0 退步了?  回復(fù)  更多評論   

            2008-07-15 13:39 by vs2005
            yuanrichard ,vs2005是可以添加類到工程,但是生成的是變量名是 COcx1 m_player;

            vs6里生成的變量很直觀, CWMPPlayer4 m_player;
            可以直接使用CWMPPlayer4里的方法,但是vs2005里使用起來極不方便,有哪些方法也沒提示!

            # re: VC++2005 比 VC++ 6.0 退步了?  回復(fù)  更多評論   

            2008-08-13 14:13 by wwd
            在OninitialDialog里添加一個:CWMPPlayer4 m_player->CreateDispatch(COcx1對象m_player.GetClsid()),就行了

            # re: VC++2005 比 VC++ 6.0 退步了?  回復(fù)  更多評論   

            2009-05-28 12:24 by geyin
            一般邏輯
            越來越好

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


            99久久国语露脸精品国产| 久久青青草原综合伊人| 一本色综合网久久| 国产一区二区三区久久| 久久久噜噜噜久久| 久久精品九九亚洲精品| 久久国产综合精品五月天| 亚洲AV日韩AV天堂久久| 一级做a爰片久久毛片16| 99久久综合国产精品免费| 久久精品国产99国产电影网| 模特私拍国产精品久久| 久久久久久久综合日本亚洲| 少妇熟女久久综合网色欲| 欧美亚洲国产精品久久蜜芽| 国产毛片欧美毛片久久久| 国产福利电影一区二区三区久久老子无码午夜伦不 | 精品久久久久一区二区三区| 久久婷婷国产剧情内射白浆| 久久精品一区二区三区不卡| 久久久久久久久波多野高潮| 精品久久久久中文字幕一区| 99久久国产综合精品麻豆| 久久精品国产99国产精品导航| 国产福利电影一区二区三区,免费久久久久久久精| 欧美精品国产综合久久| 久久久久久国产精品美女| 久久99国产精品久久久 | 婷婷五月深深久久精品| 人妻丰满?V无码久久不卡| 91久久精品国产91性色也| 久久精品无码专区免费青青| 亚洲伊人久久大香线蕉综合图片| 日日狠狠久久偷偷色综合0| 狠狠人妻久久久久久综合蜜桃| 国产精品久久久久jk制服| 久久综合狠狠综合久久综合88| 狠狠色丁香久久婷婷综合| 99久久国产综合精品女同图片| 伊人久久五月天| 久久99久久99精品免视看动漫|