• <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 閱讀(7557) 評論(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進(jìn)行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)的支持更好了,改進(jì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久久无色码中文字幕人妻| 亚洲精品高清久久| 欧美精品丝袜久久久中文字幕| 日韩va亚洲va欧美va久久| 久久精品aⅴ无码中文字字幕重口| 国产精品久久久天天影视| 国产精品va久久久久久久| 久久99热这里只频精品6| 99久久超碰中文字幕伊人| 欧美国产精品久久高清| 久久国产精品久久精品国产| 香港aa三级久久三级老师2021国产三级精品三级在 | 国产V亚洲V天堂无码久久久| 国产香蕉97碰碰久久人人| 婷婷综合久久中文字幕蜜桃三电影 | 一级a性色生活片久久无| 狠狠色丁香久久综合婷婷| 婷婷久久香蕉五月综合加勒比| www亚洲欲色成人久久精品| 99精品久久精品| 久久久久亚洲AV无码麻豆| 久久婷婷五月综合97色直播| 久久久久国产| 国产福利电影一区二区三区久久久久成人精品综合 | 久久精品国产WWW456C0M| 国产婷婷成人久久Av免费高清 | 久久精品国产99久久香蕉| 久久91亚洲人成电影网站| 2021精品国产综合久久| 久久综合亚洲欧美成人| 亚洲国产精品成人久久| 亚洲午夜无码久久久久| 一本久久a久久精品vr综合| 久久久久久精品免费免费自慰| 亚洲精品tv久久久久| 久久久久国产一区二区三区| 久久久久无码国产精品不卡| 亚洲国产成人精品91久久久 | 久久精品a亚洲国产v高清不卡| 无码伊人66久久大杳蕉网站谷歌 |