隨筆 - 8  文章 - 55  trackbacks - 0
          <2025年7月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          常用鏈接

          留言簿(6)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          朋友的Blog

          最新評論

          閱讀排行榜

          評論排行榜

          FCS camera對象的使用
          這一節(jié)主要講述camera對象的使用,包括camera的使用優(yōu)化、設(shè)置合適的帶寬和如果使得一個camera用于多個應(yīng)用程序。
          Camera對象允許你從攝影機捕捉視頻并追加到任何一個MC中,當使用FlashMx Com server的時候,還可以在聯(lián)機對象間傳輸、顯示,甚至錄制捕捉到的視頻。應(yīng)用這個特性,你可以開發(fā)例如視頻會議、視頻聊天等應(yīng)用程序。當然你也可以不通過服務(wù)器來使用Camera對象,例如可以捕捉你的視頻并附加到某個MC。
          Camera常用的屬性:
            ?
          1. bandWidth?每秒種傳送的最大字節(jié)數(shù)
            ?
          2. currentFps?當前傳送的fps值
            ?
          3. fps?setMode方法設(shè)定的fps值
            ?
          4. name?當前使用的攝像機名稱
            ?
          5. names?可用視頻捕捉設(shè)備的數(shù)組
            ?
          6. index?可以視頻設(shè)備的索引值
            ?
          7. keyFrameInterval?關(guān)鍵幀間隔
            ?
          8. loopback?是否壓縮影像
            ?
          9. motionLevel?靈敏度0~100?數(shù)值越高動作越遲鈍
          10. width?影像的寬度
          11. height?影像的高度
          12. quality?傳送的影像品質(zhì)0~100
          13. muted?客戶端是否允許Flash取用本地端的攝像機
          14. currentFps?當前傳送的fps值
            ?
          15. fps?setMode方法設(shè)定的fps值
            ?
          16. name?當前使用的攝像機名稱
            ?
          17. names?可用視頻捕捉設(shè)備的數(shù)組
            ?
          18. index?可以視頻設(shè)備的索引值
            ?
          19. keyFrameInterval?關(guān)鍵幀間隔
            ?
          20. loopback?是否壓縮影像
            ?
          21. motionLevel?靈敏度0~100?數(shù)值越高動作越遲鈍
          22. width?影像的寬度
          23. height?影像的高度
          24. quality?傳送的影像品質(zhì)0~100
          25. muted?客戶端是否允許Flash取用本地端的攝像機



          需要創(chuàng)建Camera對象,使用下面代碼:
          1 : MyCamera = Camera.get();
          2 : //如果有多個視頻設(shè)備,請使用index(索引值)指定設(shè)備
          3 : MyCamera = Camera.get(index);
          4 :

          如果在不同的網(wǎng)域訪問,就會彈出窗口讓用戶確認使用或是拒絕使用:
          圖片點擊可在新窗口打開查看

          當用戶對彈出窗口響應(yīng)后就會觸發(fā)onStatus事件,請參考muted參數(shù)
          當然也可以記住用戶的選擇,點擊鼠標右鍵出現(xiàn)設(shè)置窗口
          圖片點擊可在新窗口打開查看

          在該窗口選擇允許,并選中記住,下次就不會彈出確認窗口了。
          更高級的示例是彈出設(shè)備選擇窗口讓用戶選擇:
          1 : camArray = Camera.names;
          2 : if (camArray.length == 1){
          3 : Camera.get();
          4 : }
          5 : else
          6 : System.showSettings(3);//彈出視頻設(shè)置窗口
          7 : Camera.get();

          圖片點擊可在新窗口打開查看


          Flashcomguru 的 arckid 提供了一個很好的檢測Camera的方法,把它略作修改如下
          01 : function checkforCam() {
          02 : camArray = Camera.names;
          03 : if (camArray.length >= 1){
          04 : temp_cam = Camera.get();
          05 : if(temp_cam == -1)
          06 : trace('視頻設(shè)備正忙');
          07 : else
          08 : trace('視頻設(shè)備可用');
          09 : delete temp_cam;
          10 : } elseif (camArray.length == 0) {
          11 : trace('沒有視頻設(shè)備');
          12 : }
          13 : }
          14 : //-----------------------------------------------------------------
          15 : //或者下面的函數(shù)更精簡:
          16 : function checkForCam(){
          17 : return Camera.names.length;
          18 : }
          19 : function isCamBusy(){
          20 : if(arguments.length) return Camera.get(arguments[0]) == -1;
          21 : return Camera.get() == -1;
          22 : }
          23 :


          ip地址已設(shè)置保密
          2006-2-28 13:03:12
          netfound
          帥哥喲,離線,有人找我嗎?
          頭銜:CMS服務(wù)者
          等級:超級版主
          文章:407
          積分:4438
          門派:無門無派
          注冊:2006年2月6日
          2
          ?用支付寶給netfound付款或購買其商品,支付寶交易免手續(xù)費、安全、快捷!點擊這里發(fā)送電子郵件給netfound

          發(fā)貼心情
          要設(shè)置Camera對象的模式,可以用setMode()方法,如下:
          1 : MyCamera.setMode(width, height, fps [, favorSize])
          2 : //width,height 是Camera對象寬高,默認值是160×120
          3 : //fps 捕捉視頻的速率 默認值是15
          4 : //favorSize 是一個可選的布爾值,默認為true,表示采用最大匹配當前的窗口大小的速率,如果設(shè)為false,則會優(yōu)先考慮影像的流暢度。

          不同帶寬的建議設(shè)置
          默認的Camera設(shè)置對所有的帶寬提供了一個相同的足夠好的傳輸品質(zhì),如果需要手動設(shè)置以適應(yīng)不同的帶寬要求,設(shè)置Camera參數(shù)的方法如下:
          1. MyCamera.setQuality(bandwidth,?frameQuality)
          2. //bandwidth?頻寬指每秒傳送的最大字節(jié)數(shù)?默認為16384?如果設(shè)為0則維持frameQuality設(shè)定的影像品質(zhì),盡量使用最大頻寬
          3. //freamQuality?影像的壓縮品質(zhì)1~100,設(shè)為0表示在bandwidth設(shè)定范圍內(nèi)自動調(diào)整影像品質(zhì)

            ?

          4. //bandwidth?頻寬指每秒傳送的最大字節(jié)數(shù)?默認為16384?如果設(shè)為0則維持frameQuality設(shè)定的影像品質(zhì),盡量使用最大頻寬
          5. //freamQuality?影像的壓縮品質(zhì)1~100,設(shè)為0表示在bandwidth設(shè)定范圍內(nèi)自動調(diào)整影像品質(zhì)

            ?

          6. //bandwidth?頻寬指每秒傳送的最大字節(jié)數(shù)?默認為16384?如果設(shè)為0則維持frameQuality設(shè)定的影像品質(zhì),盡量使用最大頻寬
          7. //freamQuality?影像的壓縮品質(zhì)1~100,設(shè)為0表示在bandwidth設(shè)定范圍內(nèi)自動調(diào)整影像品質(zhì)

            ?

          8. //freamQuality?影像的壓縮品質(zhì)1~100,設(shè)為0表示在bandwidth設(shè)定范圍內(nèi)自動調(diào)整影像品質(zhì)

          ?

          ?
          ip地址已設(shè)置保密
          2006-2-28 13:04:57
          netfound
          帥哥喲,離線,有人找我嗎?
          頭銜:CMS服務(wù)者
          等級:超級版主
          文章:407
          積分:4438
          門派:無門無派
          注冊:2006年2月6日
          3
          ?用支付寶給netfound付款或購買其商品,支付寶交易免手續(xù)費、安全、快捷!點擊這里發(fā)送電子郵件給netfound

          發(fā)貼心情

          ?下面對不同的帶寬給出了建議設(shè)置:
          ?
          [ Modem? ]
          ?
          較低畫質(zhì),較高動作流暢度 my_cam.setQuality(4000,0)
          ?
          較高畫質(zhì),較低動作流暢度 my_cam.setQuality(0,65)
          ?
          [ DSL ]
          ?
          較低畫質(zhì),較高動作流暢度 my_cam.setQuality(12000,0)
          ?
          較高畫質(zhì),較低動作流暢度 my_cam.setQuality(0,90)
          ?
          [ LAN ]
          ?
          較低畫質(zhì),較高動作流暢度 my_cam.setQuality(400000,0)
          ?
          較高畫質(zhì),較低動作流暢度 my_cam.setQuality(0,100)


          打開和設(shè)置完Camera之后后要附加到一個視頻實體才可以顯示
          MyVideo.attachVideo(MyCamera);

          ?

          正常關(guān)閉camera
          如果你的應(yīng)用程序使用camera對象和NetStream對象記錄數(shù)據(jù),camera仍然保持打開狀態(tài),為了確保關(guān)閉Camera對象,請在結(jié)束的時候使用
          NetStream.attachVideo(false)

          ?

          在多個應(yīng)用程序中使用同一個Camera
          多個應(yīng)用程序(swfs)可以在同時使用一個Camera。一般而言,多個瀏覽器窗口使用相同的進程,所以在瀏覽器環(huán)境中多個應(yīng)用程序可以正常使用同一個Camera。但是,如果一個是在瀏覽器中運行,一個是獨立應(yīng)用程序,就不能共享使用同一個Camera,因為Camera不能被多個進程共享。

          事件響應(yīng)
          在Camera有兩個重要的事件響應(yīng)
          1. onStatus事件 muted屬性變化會觸發(fā)該事件
          原參考手冊中的一個示例可以說明onstatus的用法
          01 : myCam = Camera .get ();
          02 : myVideoObject.attachVideo(myCam);
          03 : myCam.onStatus = function ( infoMsg ) {
          04 : if ( infoMsg.code == 'Camera.Muted' )
          05 : {
          06 : trace ( 'User denies access to the camera' );
          07 : }
          08 : else
          09 : trace ( 'User allows access to the camera' );
          10 : }
          11 : // Change the Allow or Deny value to invoke the function
          12 : System .showSettings(0);

          2. onActivity事件 視頻是否活動的事件響應(yīng)
          請參考原手冊的范例:
          1 : // Assumes a Video object named 'myVideoObject' is on the Stage
          2 : c = Camera.get();
          3 : myVideoObject.attachVideo(c);
          4 : c.setMotionLevel(10, 500);
          5 : c.onActivity = function (mode)
          6 : {
          7 : trace(mode);
          8 : };

          posted on 2006-06-04 20:08 blog搬家了--[www.ialway.com/blog] 閱讀(498) 評論(0)  編輯  收藏 所屬分類: FMS
          主站蜘蛛池模板: 广丰县| 巨鹿县| 宝山区| 邵阳市| 广灵县| 丰都县| 永年县| 五大连池市| 桦甸市| 闸北区| 无棣县| 清流县| 松滋市| 兴义市| 阳朔县| 雷州市| 福建省| 长海县| 清水河县| 阿尔山市| 石林| 广州市| 樟树市| 嘉义县| 元谋县| 塔河县| 定西市| 依兰县| 旺苍县| 达尔| 金乡县| 山丹县| 宁国市| 西峡县| 壶关县| 鄂托克前旗| 文登市| 襄樊市| 桃江县| 郸城县| 东莞市|