<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆 - 8  文章 - 55  trackbacks - 0
    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    常用鏈接

    留言簿(6)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    朋友的Blog

    最新評論

    閱讀排行榜

    評論排行榜

    NetStream對象
    NetStream對象是在所有聯機對象之間傳遞影音串流。如果你僅僅是為了傳遞文字聊天內容,使用共享對象就可以解決,不必要使用這個對象。
    該對象的基本屬性有
    time 到目前為止,串流資料播放的秒數
    bufferTime 緩沖區的最大秒數
    currentFps 當前播放影像的速率(每秒幀數)
    bufferLength 當前緩沖區的資料秒數
    liveDelay 實時播放視頻流的間隔
    但是當你想知道當前播放的影像的總長度的時候,必須調用服務器端的方法才可以,因為客戶端的FlashPlayer是無法獲知數據流的總長的。你需要在客戶端寫如下方法:
    01 : function getInfo()
    02 : {
    03 : nc.call( 'sendInfo', new MyResultSetName(), myStream);
    04 : }
    05 : function MyResultSetName()
    06 : {
    07 : this.onResult = function ( retVal )
    08 : {
    09 : _root.streamlength = retVal;
    10 : };
    11 : this.onStatus = function(info)
    12 : {
    13 : trace ( 'Level:' + info.level + 'Code:' + info.code);
    14 : // process error object
    15 : };
    16 : }


    然后在服務器端的main.asc文件中的相關事件中寫入:
    01 : application.onAppStart = function ()
    02 : {
    03 : trace('::: Application has started :::');
    04 : }
    05 : application.onConnect = function (client)
    06 : {
    07 : application.acceptConnection (client);
    08 : // Add methods
    09 : client.prototype.sendInfo = function (name) {
    10 : var slen = Stream.length (name);
    11 : trace ( 'slen:' + slen);
    12 : return slen;
    13 : };
    14 : }


    相關方法參考:
    setBufferTime ( 秒數)
    可以設置緩沖區的大小以提高低品質的網絡情況
    注意:bufferLength大小總是不大于bufferTime

    attachVideo ( 影像來源,[ 拍攝模式 ] )
    將攝像機對象的影像追加給串流對象,如果影像來源為null,將停止捕捉影像
    拍攝模式省略表示捕捉連續的影像;若為0則只拍攝單元格畫面;大于0,將以此數值為秒數間隔,連續拍攝單元格影像。

    attactAudio ( 聲音來源 )
    將麥克風的音源設定給串流對象

    publish ( 串流資料名,[ 播出方式 ])
    如果串流資料名沒有指定則停止播出
    播出方式有live(默認值)實時播出但不存儲;record 播出同時以串流資料名.flv文件存儲,路徑為應用程序路徑下面的streams文件夾;append 播出的同時追加到指定名稱的flv文件中,如果不存在,則自動創建。

    pause()
    暫停、開始播放

    close ()
    停止發布或播放當前所有數據流,把 NetStream.time 屬性設置為 0, 使得其它客戶端可以使用該數據流,該方法當你使用 NetStream.play() 或NetStream.publish() 的時候被隱含調用

    play( 串流名稱,起始時間,長度,是否清除前一個串流 )
    起始時間默認值為-2 表示flash會先嘗試播放實時影音,否則就播放指定識別名稱的文件
    若為-1 將只播放實時影音 若為0 將只播放指定名稱的錄像內容
    長度參數指定影音播放的秒數 默認為-1 表示一直播放到結束 為其它值為播放到指定秒數的內容

    receiveVideo(fps)
    指定播放串流的速率fps設定為0時,flash將停止播放影像

    seek(秒數)
    快倒倒錄像文件倒指定秒數的畫面,如果設為0,則跳轉到開頭
    可以使用相對時間來跳轉,如
    client_ns.seek(client_ns.time-3)

    如果要在傳輸音頻或視頻流的同時,包含文本數據等,也就是說進行數據交換,則可以使用send方法。
    可以在客戶端包含下面的actionscript:
    1 : var my_nc:NetConnection = new NetConnection();
    2 : my_nc.connect('rtmp://myServer.myDomain.com/appName/appInstance');
    3 : var my_ns:NetStream = new NetStream(my_nc);
    4 : my_ns.publish('slav', 'live');
    5 : my_ns.send('Fun', 'this is a test');

    在接收端可以使用下面代碼:
    1 : var my_nc:NetConnection = new NetConnection();
    2 : my_nc.connect('rtmp://myServer.myDomain.com/appName');
    3 : my_ns = new NetStream(my_nc);
    4 : my_ns.play('slav', -1, -1);
    5 :
    6 : my_ns.Fun = function(str) { //Fun is the handler name
    7 : trace (str);
    8 : }
    關閉視頻流的幾種方法:
    1 : myStream_ns.publish(false);// 停止整個串流
    2 : myStream_ns.close();//關閉串流,當然也就停止了串流播放
    3 : mystream_ns.attachVideo(null);//僅僅停止視頻播放,仍然保持音頻播放.
    posted on 2006-06-03 18:57 blog搬家了--[www.ialway.com/blog] 閱讀(1230) 評論(0)  編輯  收藏 所屬分類: FMS
    主站蜘蛛池模板: 亚洲成色WWW久久网站| 性做久久久久免费看| 亚洲人成色77777| 国产vA免费精品高清在线观看| 国产男女猛烈无遮挡免费视频 | 亚洲熟妇无码八AV在线播放| 一区二区三区免费视频观看| 亚洲一区视频在线播放| 国产精品成人免费观看| 亚洲成A人片777777| 中文字幕亚洲免费无线观看日本| 久久亚洲精品中文字幕| **实干一级毛片aa免费| 亚洲日本久久久午夜精品| 免费国产黄线在线观看| 国产亚洲欧美日韩亚洲中文色| 四虎永久成人免费影院域名| 成人国产网站v片免费观看| 亚洲人成网站在线播放vr| 一级毛片**不卡免费播| 亚洲不卡1卡2卡三卡2021麻豆| 成年女人毛片免费播放人| 亚洲av永久无码一区二区三区| 亚洲精品高清在线| 91制片厂制作传媒免费版樱花| 亚洲国产成人综合| 又大又硬又爽免费视频| 热99RE久久精品这里都是精品免费| 亚洲尹人香蕉网在线视颅| 女人张开腿等男人桶免费视频 | 国产成人免费网站在线观看| 日日摸夜夜添夜夜免费视频| 亚洲成a人片在线观看日本| 在线观看成人免费视频不卡| 色婷婷亚洲一区二区三区| 国产AV无码专区亚洲Av| 最近最新中文字幕完整版免费高清| 人妻无码中文字幕免费视频蜜桃| 亚洲va久久久噜噜噜久久| 大陆一级毛片免费视频观看i| 久久久久久久久久久免费精品|