• <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++博客 :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

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

            #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 "

              每個(gè)頭文件都對(duì)應(yīng)了一個(gè)類。而在2005下,僅是簡(jiǎn)簡(jiǎn)單單了生成了一個(gè)類似于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下的生成的類一點(diǎn)成相應(yīng)的成員函數(shù)都沒(méi)有提供。(郁悶)
              照著6.0下的源碼給2005添加相應(yīng)的成員函數(shù),bingo正常工作了。
              難道我以后的工程都要在6.0下先生成代碼,然后再COPY到2005下。(天啊,折磨人啊)
              到底是2005比6.0退步了,還是我不會(huì)用2005?怎么回事?


            ?

            Feedback

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

            2006-03-25 15:52 by Donne
            用MapObjects進(jìn)行VC二次開(kāi)發(fā)也有這個(gè)問(wèn)題!

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

            2009-05-28 12:24 by geyin
            一般邏輯
            越來(lái)越好

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


            人人狠狠综合久久亚洲高清| 亚洲香蕉网久久综合影视| 国产精品久久久久9999| 午夜欧美精品久久久久久久| 97久久精品无码一区二区天美| 无码久久精品国产亚洲Av影片 | 久久久久久极精品久久久| 久久精品视频一| 久久se精品一区二区| 免费一级做a爰片久久毛片潮| 亚洲∧v久久久无码精品| 久久精品女人天堂AV麻| 色欲久久久天天天综合网精品| 久久综合九色综合97_久久久| 亚洲精品99久久久久中文字幕| 久久午夜无码鲁丝片| 久久这里只有精品视频99| 久久午夜电影网| 精品久久久久久国产潘金莲| 久久精品国产亚洲AV香蕉| 久久99精品免费一区二区| 久久国产乱子伦精品免费强| 久久伊人精品一区二区三区| 精品久久久久久国产牛牛app| 久久99久久99精品免视看动漫| 欧美日韩精品久久久久| 一本久久综合亚洲鲁鲁五月天亚洲欧美一区二区| 热re99久久6国产精品免费| 亚洲国产成人乱码精品女人久久久不卡| 国产精品久久久久久久久鸭| 亚洲精品无码久久久久sm| 久久福利资源国产精品999| 久久夜色精品国产| 久久成人精品| 亚洲国产成人精品久久久国产成人一区二区三区综 | 色综合久久综合中文综合网| 免费精品久久天干天干| 18岁日韩内射颜射午夜久久成人 | 国产精品免费久久久久影院| 久久国产精品成人免费| 人人狠狠综合久久亚洲婷婷|