OMCS 浣跨敤鎶€宸?锛嶏紞 鍦╓eb绋嬪簭涓娇鐢∣MCS鎺т欢

    褰撴垜浠湪瀹炵幇绫讳技Web鐗堣棰戜細璁郴缁熸椂锛屽氨闇€瑕佸湪缃戦〉涓挱鏀炬潵鑷繙绋嬫憚鍍忓ご閲囬泦鐨勫疄鏃惰棰戞垨鍦ㄧ綉椤典腑宓屽叆鐢靛瓙鐧芥澘锛孫MCS宸茬粡鎻愪緵鐨勮繖浜涙帶浠讹紝浣嗗畠浠兘鏄痺indows鎺т欢锛屽浣曞皢鍏跺祵鍏ュ埌缃戦〉涓幓浜嗭紵杩欓渶瑕佷娇鐢ㄤ竴绉嶅彜鑰佺殑鎶€鏈紝ActiveX銆?/span>

1.灏哋MCS鎺т欢杞寲涓篈ctiveX鎺т欢

    鎴戜滑浠MCS鎻愪緵鐨勬憚鍍忓ご杩炴帴鍣ㄦ帶浠禖ameraConnector涓轰緥锛屾潵璇存槑濡備綍鍦ㄧ綉椤典腑宓屽叆瀹冧滑銆?棣栧厛瑕佸仛鐨勫氨鏄皢CameraConnector鎺т欢杞寲涓篈ctiveX鎺т欢銆傛垜浠厛瀵笴ameraConnector鍋氫釜绠€鍗曠殑灏佽锛屽舰鎴愪竴涓棰戞挱鏀炬帶浠讹紝鍏跺畾涔夌浉褰撶畝鍗曪細

    public partial class CameraVideoPlayer : UserControl
    {
        private IMultimediaManager multimediaManager;
        public CameraVideoPlayer()
        {
            InitializeComponent();
        }

        public void Test()
        {
            Random ran = new Random();
            string userID = "bb" + ran.Next(1001,9999).ToString();
            this.Initialize("223.4.*.*", 9900, userID, "aa01");
        }

        public void Initialize(string serverIP, int port, string userID, string targetUserID)
        {
            try
            {
                this.multimediaManager = MultimediaManagerFactory.GetSingleton();
                this.multimediaManager.Initialize(userID, "", serverIP, port);
                this.cameraConnector1.BeginConnect(targetUserID);
            }
            catch (Exception ee)
            {
                MessageBox.Show(ee.Message);
            }

        }
      锝?/span>

      褰撹皟鐢ㄥ叾Initialize鏂规硶鏃讹紝灏嗚繛鎺ュ埌鐩爣鐢ㄦ埛鐨勬憚鍍忓ご锛屽苟鍦ㄥ叾鍐呭惈鐨刢ameraConnector1鎺т欢涓婃挱鏀捐棰戙€傝繖涓帶浠跺湪Windows Form搴旂敤绋嬪簭涓伐浣滆壇濂斤紝鐜板湪鎴戜滑涓€姝ユ鏉ュ皢鍏惰浆鎹负ActiveX鎺т欢銆?/span>

锛?锛塆UID

      ActiveX鎺т欢棣栧厛鏄疌OM缁勪欢锛孋OM缁勪欢鏈夊敮涓€鐨凣UID銆傚悗闈㈡垜浠彲浠ョ湅鍒帮紝鍦╓eb涓紝闇€瑕侀€氳繃GUID瀹氫綅骞跺姞杞藉凡缁忔敞鍐岀殑ActiveX鎺т欢銆?/span>

      濡傛灉浣跨敤鐨勬槸VS2010锛屽伐鍏疯彍鍗曚笅鏈変釜“鍒涘缓GUID”鑿滃崟锛岀偣鍑诲畠鍙互鍒涘缓涓€涓柊鐨凣UID锛岀劧鍚庢妸鍏跺鍒朵綔涓篊ameraVideoPlayer鐨勭壒鎬э細

    [Guid("D9906B42-56B3-4B94-B4F9-A767194A382F")]
    public partial class CameraVideoPlayer : UserControl

锛?锛夊疄鐜癐ObjectSafety鎺ュ彛

      褰揂ctiveX鎺т欢鍦ㄦ祻瑙堝櫒涓皟鐢ㄧ殑鏃跺€欙紝寰€寰€浼氬嚭鐜拌鍛婃锛屾彁绀轰笉瀹夊叏鐨勬帶浠舵鍦ㄨ繍琛屻€傝繖鏄敱娴忚鍣ㄥ畨鍏ㄧ瓥鐣ユ墍闄愬畾鐨勶紝鎺т欢閫氳繃瀹炵幇IObjectSafety鎺ュ彛浠ュ悜娴忚鍣ㄨ〃鏄庤嚜宸辨槸鍚堟硶鐨勩€傚湪椤圭洰涓鍔營ObjectSafety鎺ュ彛鐨勫畾涔夛細

    [Guid("CB5BDC81-93C1-11CF-8F20-00805F2CD064"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
    public interface IObjectSafety
    {       
        void GetInterfacceSafyOptions(System.Int32 riid,out System.Int32 pdwSupportedOptions,out System.Int32 pdwEnabledOptions);

        void SetInterfaceSafetyOptions(System.Int32 riid, System.Int32 dwOptionsSetMask, System.Int32 dwEnabledOptions);
    }

      璇风壒鍒敞鎰忥細 IObjectSafety涓?鐨?Guid 瑕佸浐瀹氫负 CB5BDC81-93C1-11CF-8F20-00805F2CD064锛屼笉鍙洿鏀癸紒

      骞惰CameraVideoPlayer瀹炵幇杩欎釜鎺ュ彛锛?/span>

    [Guid("D9906B42-56B3-4B94-B4F9-A767194A382F")]
    public partial class CameraVideoPlayer : UserControl, IObjectSafety
    {
        private IMultimediaManager multimediaManager;
        public CameraVideoPlayer()
        {
            InitializeComponent();
        }

        public void Test()
        {
            Random ran = new Random();
            string userID = "bb" + ran.Next(1001,9999).ToString();
            this.Initialize("223.4.180.116", 9900, userID, "aa01");
        }

        public void Initialize(string serverIP, int port, string userID, string targetUserID)
        {
            try
            {
                this.multimediaManager = MultimediaManagerFactory.GetSingleton();
                this.multimediaManager.Initialize(userID, "", serverIP, port);
                this.cameraConnector1.BeginConnect(targetUserID);
            }
            catch (Exception ee)
            {
                MessageBox.Show(ee.Message);
            }

        }

        public void GetInterfacceSafyOptions(int riid, out int pdwSupportedOptions, out int pdwEnabledOptions)
        {
            pdwSupportedOptions = 1;
            pdwEnabledOptions = 2;
        }

        public void SetInterfaceSafetyOptions(int riid, int dwOptionsSetMask, int dwEnabledOptions)
        {

        }
    }

      IObjectSafety鎺ュ彛鐨勪袱涓柟娉曠殑瀹炵幇閮藉彲浠ラ噰鐢ㄤ笂闈㈢殑浠g爜鏉ュ仛銆?/span>

锛?锛夌▼搴忛泦璁惧畾

      鎺ヤ笅鏉ワ紝鎴戜滑闇€瑕佸鎺т欢鐨勭▼搴忛泦锛圤MCS_ActiveX锛夊仛涓€涓缃紝浠ヨ〃鏄庡叾灏嗕綔涓轰竴涓狢OM缁勪欢浣跨敤銆傛墦寮€AssemblyInfo.cs鏂囦欢锛岄鍏堝皢ComVisible鐗规€ц缃负true銆傚叾娆★紝澧炲姞AllowPartiallyTrustedCallers鐗规€с€傚涓嬫墍绀猴細

    // 灏?ComVisible 璁剧疆涓?false 浣挎绋嬪簭闆嗕腑鐨勭被鍨?
    // 瀵?COM 缁勪欢涓嶅彲瑙併€傚鏋滈渶瑕佷粠 COM 璁块棶姝ょ▼搴忛泦涓殑绫诲瀷锛?
    // 鍒欏皢璇ョ被鍨嬩笂鐨?ComVisible 鐗规€ц缃负 true銆?/span>
    [assembly: ComVisible(true)]
    [assembly: AllowPartiallyTrustedCallers()]

      鏈€鍚庯紝鍦ㄩ」鐩睘鎬х殑“鐢熸垚”椤典腑锛屽皢“涓篊OM浜掓搷浣滄敞鍐?rdquo;鐨凜heckBox鍕句笂銆?/span>

     

      杩欐牱锛岀紪璇戠敓鎴愮殑浜х墿涓櫎浜哋MCS_ActiveX.dll澶栵紝杩樻湁OMCS_ActiveX.tlb锛圕OM鐢ㄥ埌鐨勭被鍨嬪簱鏂囦欢锛夈€?/span>

2.鍒朵綔瀹夎绋嬪簭

      杞寲鍚庣殑CameraVideoPlayer ActiveX鎺т欢浼氳閮ㄧ讲鍦↖IS鏈嶅姟鍣ㄤ笂锛岀敤鎴风涓€娆℃墦寮€缃戦〉鏃讹紝鍦ㄧ敤鎴风殑鏈哄櫒涓婃槸涓嶅瓨鍦ㄨ繖涓帶浠剁殑锛屾墍浠ワ紝闇€瑕佷笅杞藉畨瑁呭苟鍦ㄧ敤鎴风殑鏈哄櫒涓婃敞鍐岃ActiveX鎺т欢銆傝繖浜涘彲浠ラ€氳繃VS鑷甫鐨勫埗浣滃畨瑁呯▼搴忕殑鍔熻兘鏉ュ疄鐜帮紝涔熺浉褰撶畝鍗曘€?/span>

锛?锛夊湪褰撳墠瑙e喅鏂规涓坊鍔犱竴涓柊鐨勫畨瑁呴」鐩€?/span>

锛?锛夊皢OMCS_ActiveX椤圭洰鐨勪富杈撳嚭瀵煎叆鍒板畨瑁呴」鐩殑“搴旂敤绋嬪簭鏂囦欢澶?rdquo;涓嬮潰銆?/span>

     

锛?锛変慨鏀逛富杈撳嚭鐨勬枃浠跺畨瑁呭睘鎬т腑鐨凴egister椤逛负vsdrpCOM銆?/span>

锛?锛夎缃畨瑁呴」鐩殑椤圭洰灞炴€э紝涓昏鏄?ldquo;瀹夎URL”椤癸紝瑕佽缃负閮ㄧ讲鏃跺湴鍧€銆?nbsp;    

     

锛?锛夊鏋滈渶瑕侊紝灏?ldquo;绯荤粺蹇呭”涓殑涓€浜涢」鐩嬀涓婃垨鍘绘帀銆?/span>

锛?锛夌紪璇戝畨瑁呴」鐩紝灏嗕細鐢熸垚涓や釜鏂囦欢setup.exe銆丼etup1.msi銆傚皢瀹冧滑鎷疯礉鍒扮綉绔欒櫄鎷熺洰褰曠殑鏍圭洰褰曚笅銆?/span>

3.Web闆嗘垚

      鐜板湪鎴戜滑鍐欎竴涓渶绠€鍗曠殑HTML鏉ヨ瘯璇曞姞杞借棰戞挱鏀剧殑ActiveX鎺т欢CameraVideoPlayer銆傚涓嬫墍绀猴細

<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>鎽勫儚澶磋棰戞挱鏀惧櫒娴嬭瘯</title>
</head>
<body>
<form id="form1">
       <table>
  <tr>
   <td align="center">
    <object id="cameraVideoPlayer" 
     classid="clsid:{D9906B42-56B3-4B94-B4F9-A767194A382F}" codebase="setup.exe" width="320" height="240"> 
    </object>
   </td>
  </tr>
  <tr>
   <td align="center">
    <input type=button id="Button1" value="杩炴帴鎽勫儚澶? onclick="javascript:doTest()"/>
  </td>
</tr>
</table> 

<script type="text/javascript">
function doTest()
{
  var obj = document.getElementById("cameraVideoPlayer"); 
  obj.Test();
}
</script>
</form>
    </body> 
</html> 

      娉ㄦ剰鍔犵矖鐨勯儴鍒嗭紝璇存槑浜嗕袱鐐癸細

锛?锛夋祻瑙堝櫒鏄€氳繃GUID鏉ュ畾浣岮ctiveX鎺т欢鐨勩€?/span>

锛?锛夊鏋滄湰鏈轰笉瀛樺湪鐩爣ActiveX鎺т欢锛屽垯鑷姩涓嬭浇codebase灞炴€ф寚绀虹殑瀹夎绋嬪簭杩涜瀹夎銆?/span>

      灏咹TML鏂囦欢閮ㄧ讲濂藉悗锛岀涓€娆℃墦寮€缃戦〉锛屽涓嬫墍绀猴細      

     

     杩愯瀹夎锛屽畬鎴愬悗锛岄〉闈細鍒锋柊锛屽苟鍙互鐪嬪埌ActiveX鎺т欢宸茬粡鎴愬姛鍔犺浇杩涙潵浜嗐€傜劧鍚庯紝鐐瑰嚮“杩炴帴鎽勫儚澶?rdquo;鎸夐挳锛屾祴璇曚竴涓婣ctiveX鎺т欢鏄惁鍙互鏄剧ず杩滅▼鎽勫儚澶撮噰闆嗙殑瑙嗛锛屽涓嬫墍绀猴細     

     

      杩欐牱锛屽祵鍏ュ埌缃戦〉涓殑ActiveX鎺т欢灏卞儚鏅€氱殑windows鎺т欢涓€鏍锋甯歌繍琛屼簡锛氾級 

      鍍廜MCS鎻愪緵鐨勫叾瀹冨嚑涓帶浠讹細楹﹀厠椋庤繛鎺ュ櫒鎺т欢銆佺數瀛愮櫧鏉挎帶浠躲€佽繙绋嬫闈㈡帶浠剁瓑锛岄兘鍙互浠ョ被浼肩殑鏂瑰紡杞彂涓篈ctiveX鎺т欢锛屽苟宓屽叆鍒癢eb涓繍琛屻€?/span>  

4.Demo婧愮爜涓嬭浇

      OMCS_ActivexDemo.rar 

娉細濡傛灉娴嬭瘯demo鏃讹紝鍙戠幇鏃犳硶鐪嬪埌瑙嗛锛屽垯鍙兘鏄渶瑕佸畨瑁? VC++杩愯鏃?/a>銆?/p>

 

5.绔嬪嵆浣撻獙

鎴戜滑宸茬粡閮ㄧ讲濂戒簡缃戠珯鍜孫MCS鏈嶅姟绔紝鎮ㄥ彲浠ョ洿鎺ュ湪IE娴忚鍣ㄤ腑娴嬭瘯浜嗐€?/p>

锛?锛夋祴璇曞湴鍧€锛?a href="http://115.29.163.42:8001/test.html">http://115.29.163.42:8001/test.html

锛?锛塈E璁剧疆涓坊鍔犱俊浠荤珯鐐癸細IE -> 鈥滃伐鍏封€濊彍鍗?-> Internet閫夐」 -> 瀹夊叏 -> 鍙俊绔欑偣 -> 绔欑偣

          

锛?锛塈E璁剧疆涓厑璁镐笅杞芥湭绛惧悕鐨凙ctiveX锛欼E -> 鈥滃伐鍏封€濊彍鍗?-> Internet閫夐」 -> 瀹夊叏  -> 鍙俊绔欑偣 -> 鑷畾涔夌骇鍒?/span>

        

锛?锛夎繖浜涜瀹氬畬鎴愬悗锛屽湪娴忚鍣ㄤ腑杈撳叆涓婇潰鐨勭綉鍧€锛屽嵆鍙互涓嬭浇瀹夎OMCS  ActiveX鎺т欢锛屽苟娴嬭瘯浜嗐€?/p>

 

 

-----------------------------------------------------------------------------------------------------------------------------------------------  

涓嬭浇鍏嶈垂鐗堟湰鐨凮MCS浠ュ強 demo婧愮爜

闃呰 鏇村OMCS寮€鍙戞墜鍐岀郴鍒楁枃绔?/A>銆?/SPAN>

Q Q锛?68757008

导航

首页

官方网站

联系我们

站内搜索

OrayTalk 企业即时通讯系统

傲瑞通官网

详细说明

客户端下载

OrayMeeting 视频会议系统

详细说明

客户端下载

ESFramework 通信框架

详细说明

SDK与Demo下载

ESFramework FAQ

版本变更记录

OMCS 语音视频框架

详细说明

SDK与Demo下载

OMCS FAQ

版本变更记录

OVCS 视频会议Demo

详细说明

源码下载

傲瑞实用组件

SDK下载

H5Media 纯网页音视频交互

NPusher 推流组件

MCapture 语音视频采集组件

MFile 语音视频录制组件

MPlayer 语音视频播放组件

OAUS 自动升级系统

StriveEngine 轻量级的通信引擎

傲瑞组件 FAQ

授权

授权流程

产品选购指南

授权方案说明

授权SDK使用说明

其它

支持信创国产化

SDK使用技巧

联系我们