Author: sebawagner
Date: Sat Oct 13 12:15:43 2012
New Revision: 1397817

URL: http://svn.apache.org/viewvc?rev=1397817&view=rev
Log:
Fix + update testing application to swf11 including option for Acoustic Echo 
Cancellation

Added:
    
incubator/openmeetings/trunk/singlewebapp/WebContent/src/test/test-setup.lzx.swf11.swf
   (with props)
Modified:
    incubator/openmeetings/trunk/singlewebapp/WebContent/src/test/test-setup.lzx

Modified: 
incubator/openmeetings/trunk/singlewebapp/WebContent/src/test/test-setup.lzx
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/WebContent/src/test/test-setup.lzx?rev=1397817&r1=1397816&r2=1397817&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/WebContent/src/test/test-setup.lzx 
(original)
+++ 
incubator/openmeetings/trunk/singlewebapp/WebContent/src/test/test-setup.lzx 
Sat Oct 13 12:15:43 2012
@@ -1,115 +1,205 @@
 <?xml version="1.0" encoding="UTF-8" ?>
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one
-  or more contributor license agreements.  See the NOTICE file
-  distributed with this work for additional information
-  regarding copyright ownership.  The ASF licenses this file
-  to you under the Apache License, Version 2.0 (the
-  "License"); you may not use this file except in compliance
-  with the License.  You may obtain a copy of the License at
-  
-      http://www.apache.org/licenses/LICENSE-2.0
-         
-  Unless required by applicable law or agreed to in writing,
-  software distributed under the License is distributed on an
-  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  KIND, either express or implied.  See the License for the
-  specific language governing permissions and limitations
-  under the License.
-  
--->
+<!-- Licensed to the Apache Software Foundation (ASF) under one or more 
contributor 
+       license agreements. See the NOTICE file distributed with this work for 
additional 
+       information regarding copyright ownership. The ASF licenses this file 
to 
+       you under the Apache License, Version 2.0 (the "License"); you may not 
use 
+       this file except in compliance with the License. You may obtain a copy 
of 
+       the License at http://www.apache.org/licenses/LICENSE-2.0 Unless 
required 
+       by applicable law or agreed to in writing, software distributed under 
the 
+       License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 
CONDITIONS 
+       OF ANY KIND, either express or implied. See the License for the 
specific 
+       language governing permissions and limitations under the License. -->
 <canvas debug="true" height="100%" title="Audio-Video Test-Application">
+
+       <debug width="450" x="460" y="600" height="100" />
+
+       <switch>
+               <when property="$as3">
+                       <passthrough>
+                           import flash.events.*;
+                   import flash.net.*;
+                   import flash.media.*
+                       </passthrough>
+               </when>
+       </switch>
        
-<debug width="450" x="460" y="600" height="100" />
-  
-<!--- NetConnection -->  
-<attribute name="_nc" value="null" />
-
-<!--- NetStream -->
-<attribute name="_nsBroadCast" value="null" />
-<attribute name="_nsPlay" value="null" />
-
-<!--- devices - Reference -->
-<attribute name="_camera" value="null" />
-<attribute name="_micro" value="null" />
-
-<method name="connectRtmpConnection">
-       this._nc = new NetConnection();
-       _root.Debug.write("connectRtmpConnection URL:",url.getText());
-       this._nc.connect(url.getText());
-       this._nc.onStatus = function(info){
-        _root.Debug.write(info.code,info);
-    }
-</method>
+       <class name="myListItem" extends="textlistitem">
+       </class>
+
+       <!--- NetConnection -->
+       <attribute name="_nc" value="null" />
 
-<method name="startBroadCast">
+       <!--- NetStream -->
+       <attribute name="_nsBroadCast" value="null" />
+       <attribute name="_nsPlay" value="null" />
+
+       <!--- devices - Reference -->
+       <attribute name="_camera" value="null" />
+       <attribute name="_micro" value="null" />
+
+       <method name="connectRtmpConnection">
+               this._nc = new NetConnection();
+               this._nc.proxyType = "best";
+               Debug.write("connectRtmpConnection URL:",url.getText());
+               this._nc.connect(url.getText());
+               
+               this._nc.addEventListener(NetStatusEvent.NET_STATUS, _onStatus);
+               var clientObj = {};
+               clientObj.setId = this.setId;
+               
+               this._nc.client = clientObj;
+               
+               //this._nc.onStatus = function(info){
+               //Debug.write(info.code,info);
+               //}
+       </method>
+       
+       <method name="setId" args="tId">
+               if ($debug) Debug.write("setId ", tId);
+       </method>
+       
+    <method name="_onStatus" args="stats"><![CDATA[
+        if ($debug) {
+            Debug.write("devrtmpconnection", this, "_onStatus", 
stats.info.code);
+        }
+      ]]>
+    </method>
+
+       <method name="startBroadCast">
        <![CDATA[
-               this._camera = Camera.get(camDevices.getValue());
+               this._camera = Camera.getCamera(camDevices.getValue());
                //sets the Mode
-               //see: 
http://livedocs.adobe.com/flash/8/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00002042.html#wp176393
+               //see: 
http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/media/Camera.html#setMode%28%29
                
this._camera.setMode(Number(streamwidth.getText()),Number(streamheight.getText()),Number(streamfps.getText()),streamfavorarea.getValue());
      
+               
                //sets the Quality
-               //see: 
http://livedocs.adobe.com/flash/8/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00002044.html#wp177299
+               //see: 
http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/media/Camera.html#setQuality%28%29
                
this._camera.setQuality(Number(streambandwidth.getText()),Number(streamquality.getText()));
     
                
-               this._micro = Microphone.get(micDevices.getValue());
+               if (useEnhancedMicrophone.getValue()) {
+                       this._micro = 
Microphone.getEnhancedMicrophone(micDevices.getValue());
+                       
+                       if ($debug) Debug.write(this._micro.enhancedOptions);
+                       
+               } else {
+                       this._micro = 
Microphone.getMicrophone(micDevices.getValue());
+               }
+               
+               this._micro.codec = SoundCodec.NELLYMOSER;
+               
                //sets the Microphone Rate in Khz
-               //see: 
http://livedocs.adobe.com/flash/8/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00002421.html#wp326592
-               this._micro.setRate(Number(streamrate.getText()));
+               
//see:http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/media/Microphone.html#rate
+               this._micro.rate = Number(streamrate.getText());
+               
+               this._micro.gain = 50;
                
                //sets wether useEchoSupression should be used or not
-               
//http://livedocs.adobe.com/flash/8/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00002423.html#wp327480
+               
//http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/media/Microphone.html#useEchoSuppression
                
this._micro.setUseEchoSuppression(streamuseEchoSuppression.getValue());
                
                //attaches the Camera to the View
                broadCastVideo.attachVideo(this._camera);
                
                this._nsBroadCast =  new NetStream(this._nc);
-               this._nsBroadCast.onStatus = function(info) {
-               _root.Debug.write("simpleNetStream onStatus",info);
-           };
-           this._nsBroadCast.onCuePoint = function(info) {
-               _root.Debug.write("simpleNetStream onCuePoint",info);
-           };
-           this._nsBroadCast.onPlayStatus = function(info) {
-               _root.Debug.write("simpleNetStream onPlayStatus",info);
-           };
-           this._nsBroadCast.onMetaData = function(info) {
-               _root.Debug.write("simpleNetStream onMetaData",info);
-           };
+               //see: 
http://livedocs.adobe.com/flash/9.0_de/ActionScriptLangRefV3/flash/net/NetStream.html
+        //according to the docs the construct to catch event has to be 
implemented like this.
+        var t = this;
+               var clientObject = new Object();
+               clientObject.onMetaData = function(metadata:Object):void {
+                       t.onMetaData(metadata);
+               };
+               clientObject.onPlayStatus = function(metadata:Object):void {
+                       t.onPlayStatus(metadata);
+               };
+               clientObject.onCuePoint = function(metadata:Object):void {
+                       t.onCuePoint(metadata);
+               };
+               clientObject.ioError = function(error:Object):void {
+                       t.ioError(error);
+               };
+               clientObject.netStatus = function(status:Object):void {
+                       t.netStatus(status);
+               };
+               clientObject.asyncError = function(error:Object):void {
+                       t.asyncError(error);
+               };
+               this._nsBroadCast.client = clientObject;
+               //this is a workaround, attaching the event to the client 
object does not work
+               this._nsBroadCast.addEventListener(NetStatusEvent.NET_STATUS, 
onNetStatus2);
        
-               this._nsBroadCast.attachVideo(this._camera);
+               this._nsBroadCast.attachCamera(this._camera);
            this._nsBroadCast.attachAudio(this._micro);
            
            this._nsBroadCast.publish(streamname.getText(),"live");
     ]]>
-</method>
-
-<method name="stopBroadCast">
-       this._nsBroadCast.publish(false);
-       broadCastVideo.attachVideo(null);
-       broadCastVideo.stop();
-       this._nsBroadCast.close();
-</method>
+       </method>
+       
+       <method name="onNetStatus2" args="evt">
+               if($debug) Debug.write("netStream_onNetStatus: " , 
evt.info.code, evt.target);
+       </method>
+       
+       <method name="asyncError" args="error">
+               if($debug) Debug.write("simpleNetStream asyncError",error);
+       </method>
+       
+       <method name="netStatus" args="status">
+               if($debug) Debug.write("simpleNetStream netStatus",status);
+       </method>
+       
+       <method name="ioError" args="error">
+               if($debug) Debug.write("simpleNetStream ioError",error);
+       </method>
+
+    <method name="onCuePoint" args="info"><![CDATA[
+        if($debug) Debug.write("simpleNetStream onCuePoint",info);
+    ]]></method>
+
+    <method name="onPlayStatus" args="info"><![CDATA[
+        if($debug) Debug.write("simpleNetStream onPlayStatus",info);
+    ]]></method>
+
+    <method name="onMetaData" args="info"><![CDATA[
+        if($debug) Debug.write("simpleNetStream onMetaData",info);
+    ]]></method>
+
+       <method name="stopBroadCast">
+               this._nsBroadCast.publish(false);
+               broadCastVideo.attachVideo(null);
+               broadCastVideo.stopIt();
+               this._nsBroadCast.close();
+       </method>
 
 
-<method name="playBroadCast">
+       <method name="playBroadCast">
        <![CDATA[
                //attaches the Camera to the View
        
                this._nsPlay =  new NetStream(this._nc);
-               this._nsPlay.onStatus = function(info) {
-               _root.Debug.write("simpleNetStream onStatus",info);
-           };
-           this._nsPlay.onCuePoint = function(info) {
-               _root.Debug.write("simpleNetStream onCuePoint",info);
-           };
-           this._nsPlay.onPlayStatus = function(info) {
-               _root.Debug.write("simpleNetStream onPlayStatus",info);
-           };
-           this._nsPlay.onMetaData = function(info) {
-               _root.Debug.write("simpleNetStream onMetaData",info);
-           };
+               //see: 
http://livedocs.adobe.com/flash/9.0_de/ActionScriptLangRefV3/flash/net/NetStream.html
+        //according to the docs the construct to catch event has to be 
implemented like this.
+        var t = this;
+               var clientObject = new Object();
+               clientObject.onMetaData = function(metadata:Object):void {
+                       t.onMetaData(metadata);
+               };
+               clientObject.onPlayStatus = function(metadata:Object):void {
+                       t.onPlayStatus(metadata);
+               };
+               clientObject.onCuePoint = function(metadata:Object):void {
+                       t.onCuePoint(metadata);
+               };
+               clientObject.ioError = function(error:Object):void {
+                       t.ioError(error);
+               };
+               clientObject.netStatus = function(status:Object):void {
+                       t.netStatus(status);
+               };
+               clientObject.asyncError = function(error:Object):void {
+                       t.asyncError(error);
+               };
+               this._nsPlay.client = clientObject;
+               //this is a workaround, attaching the event to the client 
object does not work
+               this._nsPlay.addEventListener(NetStatusEvent.NET_STATUS, 
onNetStatus2);
        
            //sets the Buffer for the Playing
            //see: 
http://livedocs.adobe.com/flash/8/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00002567.html#wp393038
@@ -119,115 +209,145 @@
            
            this._nsPlay.play(streamname.getText(),-1);
     ]]>
-</method>
+       </method>
 
-<method name="stopPlayBroadCast">
-       this._nsPlay.pause();
-       this._nsPlay.close();
-       playVideo.attachVideo(null);
-       playVideo.stop();
-</method>
-
-<view layout="axis:y;spacing:4" width="450" x="0">
-       <text fontstyle="bold" text="Connection - Settings (user for both 
BroadCasting and Subscribing)" />
-       <view width="450">
-               <text text="URL:" />
-               <edittext align="right" width="350" id="url" 
text="rtmp://127.0.0.1:1935/openmeetings/testscope" />
+       <method name="stopPlayBroadCast">
+               this._nsPlay.pause();
+               this._nsPlay.close();
+               playVideo.attachVideo(null);
+               playVideo.stopIt();
+       </method>
+
+       <view layout="axis:y;spacing:4" width="450" x="0">
+               <text fontstyle="bold"
+                       text="Connection - Settings (user for both BroadCasting 
and Subscribing)" />
+               <view width="450">
+                       <text text="URL:" />
+                       <edittext align="right" width="350" id="url"
+                               
text="rtmp://127.0.0.1:1935/openmeetings/testscope" />
+               </view>
+               <button align="right" width="200" text="connectRtmpConnection"
+                       onclick="canvas.connectRtmpConnection()" />
        </view>
-       <button align="right" width="200" text="connectRtmpConnection" 
onclick="canvas.connectRtmpConnection()" />
-</view>
-<!-- some description -->
-<text fontstyle="italic" y="0" width="450" multiline="true" x="450">
-       You can test all Settings of Audio and Video Streamings which are 
currently used in
-       OpenMeetings here.<br/>
-       Change the URL sothat 127.0.0.1 points to your Red5-Installation!<br/>
-       You first need to <b>connect</b> to a stream before you start to 
<b>broadcast</b>!<br/>
-       You first need <b>broadcast</b> a stream with a name before you try to 
<b>subscribe</b> to it!<br/>
-       If somebody already uses that streamname you get an NetStream 
*Bad.StreamName*, you can take an StreamName you like,
-       but of course you have to tell the *player* that it will need to use 
that StreamName!<br/>
-</text>
-
-<checkbox name="modus" y="120" 
-                 text="Event Modus (320x240) or Conference Modus (128x96)" 
value="true" >
-       <handler name="onvalue" args="v">
-               if (canvas.isinited) {
-                       if (v){
-                               broadCastVideo.setAttribute('width',320);
-                               broadCastVideo.setAttribute('height',240);
-                               broadCastVideo.applySizeToVid();
-                               playVideo.setAttribute('width',320);
-                               playVideo.setAttribute('height',240);   
-                               playVideo.applySizeToVid();
-                       } else {
-                               broadCastVideo.setAttribute('width',128);
-                               broadCastVideo.setAttribute('height',96);
-                               broadCastVideo.applySizeToVid();
-                               playVideo.setAttribute('width',128);
-                               playVideo.setAttribute('height',96);
-                               playVideo.applySizeToVid();
+       <!-- some description -->
+       <text fontstyle="italic" y="0" width="450" multiline="true" x="450">
+               You can test all Settings of Audio and Video Streamings which 
are currently used in OpenMeetings here. <br /> 
+               Change the URL so that 127.0.0.1 points to your 
Red5-Installation! <br />
+               You first need to <b>connect</b> to a stream before you start 
to <b>broadcast</b>!<br />
+               You first need <b>broadcast</b> a stream with a name before you 
try to <b>subscribe</b> to it!<br />
+               If somebody already uses that streamname you get an NetStream 
*Bad.StreamName*, you can take an StreamName you like, but of course you have 
to tell the *player* that it will need to use that StreamName!
+               <br />
+       </text>
+
+       <checkbox name="modus" y="120"
+               text="Event Modus (320x240) or Conference Modus (128x96)" 
value="true">
+               <handler name="onvalue" args="v">
+                       if (canvas.isinited) {
+                               if (v){
+                                       
broadCastVideo.setAttribute('width',320);
+                                       
broadCastVideo.setAttribute('height',240);
+                                       broadCastVideo.applySizeToVid();
+                                       playVideo.setAttribute('width',320);
+                                       playVideo.setAttribute('height',240);
+                                       playVideo.applySizeToVid();
+                               } else {
+                                       
broadCastVideo.setAttribute('width',128);
+                                       
broadCastVideo.setAttribute('height',96);
+                                       broadCastVideo.applySizeToVid();
+                                       playVideo.setAttribute('width',128);
+                                       playVideo.setAttribute('height',96);
+                                       playVideo.applySizeToVid();
+                               }
                        }
-               }
-       </handler>
-</checkbox>
+               </handler>
+       </checkbox>
 
-<view bgcolor="black" width="${ canvas.width }" height="2" y="140" />
+       <view bgcolor="black" width="${ canvas.width }" height="2" y="140" />
 
-<!-- two columns left BroadCast, right Subscribe a Stream -->
-<view y="144" height="$once{ canvas.height-this.y }" clip="true">
-       <!--- ScrollArea -->
-       <view layout="axis:x;spacing:10" >
-               <!--- BroadCasting Area -->
-               <view layout="axis:y;spacing:4" width="450" >
-                       
-                       <!--- Video Area -->
-                       <view id="broadCastVideo" bgcolor="black" width="320" 
height="240" >
-                               <method name="init">
-                                       super.init();
-                                       var mc = 
immediateparent.sprite.attachResourceToChildView("__LZvideo", this.sprite);
-                               this.sprite.setMovieClip(mc);
-                               this.__LZmovieClipRef = 
this.sprite.__LZmovieClipRef;
-                               var vid = this._getflashvideo();
-                               vid._x = 0;
-                               vid._y = 0;
-                               this.applySizeToVid();
-                               if ($debug) Debug.write("init");
-                               </method>
-                               <method name="applySizeToVid">
-                                       var vid = this._getflashvideo();
-                                       vid._width = this.width;
-                               vid._height = this.height;
-                               </method>
-                               <method name="_getflashvideo">
-                                       <![CDATA[
-                                   return this.__LZmovieClipRef.__lzvideo;
-                               ]]>
-                           </method>
-                           <method name="stop">
-                               this.__LZmovieClipRef.__lzvideo.clear();
-                           </method>    
-                           <!--- shows the Video (can be a Cam-Instance or a 
NetStream) in the View -->
-                           <method name="attachVideo" args="video">
-                               var vid = this._getflashvideo();
-                               vid.attachVideo(video);
-                           </method>
-                       </view> 
-                       
-                       <text fontstyle="bold" text="BroadCast - Settings" />
-                       <view width="450">
-                               <text text="StreamName (BroadCast):" />
-                               <edittext align="right" width="150" 
id="streamname" text="stream1" />
-                       </view>
-                       
-                       <button align="right" width="200" text="startBroadCast" 
onclick="canvas.startBroadCast()" />
-                       <button align="right" width="200" text="stopBroadCast" 
onclick="canvas.stopBroadCast()" />      
-                       
-                       <text fontstyle="bold" text="Video and Audio - Settings 
for Broad-Casting" />
-                       
-                       <!--- Settings -->
-                       <view width="450">
-                               <text text="Camera:" />
-                               <combobox align="right" width="350" 
id="camDevices" editable="false">
-                                       <handler name="oninit">
+       <!-- two columns left BroadCast, right Subscribe a Stream -->
+       <view y="144" height="$once{ canvas.height-this.y }" clip="true">
+               <!--- ScrollArea -->
+               <view layout="axis:x;spacing:10">
+                       <!--- BroadCasting Area -->
+                       <view layout="axis:y;spacing:4" width="450">
+
+                               <!--- Video Area -->
+                               <view id="broadCastVideo" bgcolor="black" 
width="320" height="240">
+                               
+                                       <passthrough when="$as3">
+                                       import flash.media.*;
+                                       import flash.net.NetConnection;
+                                       import flash.net.NetStream;
+                                   </passthrough>
+                                   
+                                   <attribute name="__LZvideo" value="null" />
+                                                               
+                                       <method name="init"><![CDATA[
+                                       super.init();
+                                       var mc = new Video(this.width, 
this.height);
+                                       this.sprite.addChild(mc);
+                                       this.__LZvideo = mc;
+                                       this.applySizeToVid();
+                                   ]]></method>
+                                       <method name="applySizeToVid">
+                                               if (this.__LZvideo == null) {
+                                                       return;
+                                               }
+                                               var vid = this._getflashvideo();
+                                               vid.width = this.width;
+                                               vid.height = this.height;
+                                       </method>
+                                       <method name="_getflashvideo">
+                                               <![CDATA[
+                                           //Debug.write("_getflashvideo()");
+                                           return this.__LZvideo;
+                                       ]]>
+                                   </method>
+                                       <method name="stopIt">
+                                               if (this.__LZvideo == null) {
+                                                       return;
+                                               }
+                                               var vid = this._getflashvideo();
+                                       vid.attachNetStream(null);
+                                               this.__LZvideo.clear();
+                                       </method>
+                                       <!--- shows the Video (can be a 
Cam-Instance or a NetStream) in the 
+                                               View -->
+                                       <method name="attachVideo" args="video">
+                                               if (this.__LZvideo == null) {
+                                                       return;
+                                               }
+                                               var vid = this._getflashvideo();
+                                               vid.attachCamera(video);
+                                       </method>
+                               </view>
+
+                               <text fontstyle="bold" text="BroadCast - 
Settings" />
+                               <view width="450">
+                                       <text text="StreamName (BroadCast):" />
+                                       <edittext align="right" width="150" 
id="streamname" text="stream1" />
+                               </view>
+
+                               <button align="right" width="200" 
text="startBroadCast"
+                                       onclick="canvas.startBroadCast()" />
+                               <button align="right" width="200" 
text="stopBroadCast"
+                                       onclick="canvas.stopBroadCast()" />
+
+                               <text fontstyle="bold" text="Video and Audio - 
Settings for Broad-Casting" />
+
+                               <!--- Settings -->
+                               <view width="450">
+                                       <text text="Camera:" />
+                                       <combobox align="right" width="350" 
id="camDevices"
+                                               editable="false" 
itemclassname="myListItem">
+                                               <switch>
+                                           <when property="$as3">
+                                               <passthrough>
+                                                   import flash.media.Camera;
+                                               </passthrough>
+                                           </when>
+                                       </switch>
+                                               <handler name="oninit">
                                                <![CDATA[
                                                        //Get all availible 
Cam's
                                                        var tw = Camera.names;
@@ -238,61 +358,81 @@
                                                        }
                                                        
this.selectItem(String(r));  
                                                ]]>
-                                       </handler>
-                               </combobox>
-                       </view>
-                       <!--- Width -->
-                       <view width="450">
-                               <text text="Width:" />
-                               <edittext align="right" width="150" 
id="streamwidth" text="$ { broadCastVideo.width }" />
-                               <text fontstyle="italic" y="26" width="450" 
multiline="true">
-                                       width:Number [optional] - The requested 
capture width, in pixels. The default value is 160.
-                               </text>
-                       </view>
-                       <!--- Height -->
-                       <view width="450">
-                               <text text="Height:" />
-                               <edittext align="right" width="150" 
id="streamheight" text="$ { broadCastVideo.height }" />
-                               <text fontstyle="italic" y="26" width="450" 
multiline="true">
-                                       height:Number [optional] - The 
requested capture height, in pixels. The default value is 120.
-                               </text>
-                       </view>
-                       <!-- Frames Per Second -->
-                       <view width="450">
-                               <text text="FPS:" />
-                               <edittext align="right" width="150" 
id="streamfps" text="30" />
-                               <text fontstyle="italic" y="26" width="450" 
multiline="true">
-                                       fps:Number [optional] - The requested 
rate at which the camera should capture data, in frames per second. The default 
value is 15.
-                               </text>
-                       </view>
-                       <!--- FavorArea -->
-                       <view width="450">
-                               <checkbox id="streamfavorarea" text="Favorarea" 
value="true" />
-                               <text fontstyle="italic" y="26" width="450" 
multiline="true">
-                                       favorArea:Boolean [optional] - A 
Boolean value that specifies how to manipulate the width, height, and frame 
rate if the camera does not have a native mode that meets the specified 
requirements. The default value is true, which means that maintaining capture 
size is favored; using this parameter selects the mode that most closely 
matches width and height values, even if doing so adversely affects performance 
by reducing the frame rate. To maximize frame rate at the expense of camera 
height and width, pass false for the favorArea parameter.
-                               </text>
-                       </view>
-                       <!--- Bandwidth -->
-                       <view width="450">
-                               <text text="Bandwidth:" />
-                               <edittext align="right" width="150" 
id="streambandwidth" text="16384" />
-                               <text fontstyle="italic" y="26" width="450" 
multiline="true">
-                                       bandwidth:Number [optional] - An 
integer that specifies the maximum amount of bandwidth that the current 
outgoing video feed can use, in bytes per second. To specify that Flash video 
can use as much bandwidth as needed to maintain the value of frameQuality, pass 
0 for bandwidth. The default value is 16384.
-                               </text>
-                       </view>
-                       <!--- Quality -->
-                       <view width="450">
-                               <text text="Quality:" />
-                               <edittext align="right" width="150" 
id="streamquality" text="90" />
-                               <text fontstyle="italic" y="26" width="450" 
multiline="true">
-                                       quality:Number [optional] - An integer 
that specifies the required level of picture quality, as determined by the 
amount of compression being applied to each video frame. Acceptable values 
range from 1 (lowest quality, maximum compression) to 100 (highest quality, no 
compression). To specify that picture quality can vary as needed to avoid 
exceeding bandwidth, pass 0 for quality. The default value is 0.
-                               </text>
-                       </view>
-                       <!--- Choose Microphone -->
-                       <view width="450">
-                               <text text="Microphone:" />
-                               <combobox align="right" width="350" 
id="micDevices" editable="false">
-                                       <handler name="oninit">
+                                               </handler>
+                                       </combobox>
+                               </view>
+                               <!--- Width -->
+                               <view width="450">
+                                       <text text="Width:" />
+                                       <edittext align="right" width="150" 
id="streamwidth"
+                                               text="$ { broadCastVideo.width 
}" />
+                                       <text fontstyle="italic" y="26" 
width="450" multiline="true">
+                                               width:Number [optional] - The 
requested capture width, in pixels. The default value is 160.
+                                       </text>
+                               </view>
+                               <!--- Height -->
+                               <view width="450">
+                                       <text text="Height:" />
+                                       <edittext align="right" width="150" 
id="streamheight"
+                                               text="$ { broadCastVideo.height 
}" />
+                                       <text fontstyle="italic" y="26" 
width="450" multiline="true">
+                                               height:Number [optional] - The 
requested capture height, in pixels. The default value is 120.
+                                       </text>
+                               </view>
+                               <!-- Frames Per Second -->
+                               <view width="450">
+                                       <text text="FPS:" />
+                                       <edittext align="right" width="150" 
id="streamfps" text="30" />
+                                       <text fontstyle="italic" y="26" 
width="450" multiline="true">
+                                               fps:Number [optional] - The 
requested rate at which the camera should capture data, in frames per second. 
The default value is 15.
+                                       </text>
+                               </view>
+                               <!--- FavorArea -->
+                               <view width="450">
+                                       <checkbox id="streamfavorarea" 
text="Favorarea" value="true" />
+                                       <text fontstyle="italic" y="26" 
width="450" multiline="true">
+                                               favorArea:Boolean [optional] - 
A Boolean value that specifies how to manipulate the width, height, and frame 
rate if the camera does
+                                               not have a native mode that 
meets the specified requirements. The default value is true, which means that 
maintaining capture size
+                                               is favored; using this 
parameter selects the mode that most closely matches width and height values, 
even if doing so
+                                               adversely affects performance 
by reducing the frame rate. To maximize frame rate at the expense of camera 
height and width,
+                                               pass false for the favorArea 
parameter.
+                                       </text>
+                               </view>
+                               <!--- Bandwidth -->
+                               <view width="450">
+                                       <text text="Bandwidth:" />
+                                       <edittext align="right" width="150" 
id="streambandwidth"
+                                               text="0" />
+                                       <text fontstyle="italic" y="26" 
width="450" multiline="true">
+                                               bandwidth:Number [optional] - 
An integer that specifies the maximum amount of bandwidth that the current 
outgoing video feed
+                                               can use, in bytes per second. 
To specify that Flash video can use as much bandwidth as needed to maintain the 
value of frameQuality, pass 0 for bandwidth.
+                                       </text>
+                               </view>
+                               <!--- Quality -->
+                               <view width="450">
+                                       <text text="Quality:" />
+                                       <edittext align="right" width="150" 
id="streamquality"
+                                               text="90" />
+                                       <text fontstyle="italic" y="26" 
width="450" multiline="true">
+                                               quality:Number [optional] - An 
integer that specifies the required level of picture quality, as determined by 
the amount of
+                                               compression being applied to 
each video frame. Acceptable values range from 1 (lowest quality, maximum 
compression) to 100 (highest
+                                               quality, no compression). To 
specify that picture quality can vary as needed to avoid exceeding bandwidth, 
pass 0 for quality. The
+                                               default value is 0.
+                                       </text>
+                               </view>
+                               <!--- Choose Microphone -->
+                               <view width="450">
+                                       <text text="Microphone:" />
+                                       <combobox align="right" width="350" 
id="micDevices"
+                                               editable="false" 
itemclassname="myListItem">
+                                               <switch>
+                                           <when property="$as3">
+                                               <passthrough>
+                                                   import 
flash.media.Microphone;
+                                               </passthrough>
+                                           </when>
+                                       </switch>
+                                               <handler name="oninit">
                                                <![CDATA[
                                                        //Get all availible 
Cam's
                                                        var tw = 
Microphone.names;
@@ -303,83 +443,115 @@
                                                        }
                                                        
this.selectItem(String(r));  
                                                ]]>
-                                       </handler>
-                               </combobox>
-                       </view> 
-                       <!--- Audio-Rate -->
-                       <view width="450">
-                               <text text="Rate:" />
-                               <edittext align="right" width="150" 
id="streamrate" text="22" />
-                               <text fontstyle="italic" y="26" width="450" 
multiline="true">
-                                       rate:Number - The rate at which the 
microphone should capture sound, in kHz. Acceptable values are 5, 8, 11, 22, 
and 44. The default value is 8 kHz if your sound capture device supports this 
value. Otherwise, the default value is the next available capture level above 8 
kHz that your sound capture device supports, usually 11 kHz.
-                               </text>
-                       </view>
-                       <!--- useEchoSupression -->
-                       <view width="450">
-                               <checkbox id="streamuseEchoSuppression" 
text="useEchoSuppression" value="true" />
-                               <text fontstyle="italic" y="26" width="450" 
multiline="true">
-                                       public useEchoSuppression : Boolean 
[read-only]
-                                       Property (read-only); a Boolean value 
of true if echo suppression is enabled, false otherwise. The default value is 
false unless the user has selected Reduce Echo in the Flash Player Microphone 
Settings panel.
-                               </text>
-                       </view>
-               </view>
-       
-               <!--- Play Area -->
-               <view layout="axis:y;spacing:4" width="450" >   
-               
-                       <!--- Video Output -->
-                       <view id="playVideo" bgcolor="black" width="320" 
height="240" >
-                               <method name="init">
-                                       super.init();
-                                       var mc = 
immediateparent.sprite.attachResourceToChildView("__LZvideo", this.sprite);
-                               this.sprite.setMovieClip(mc);
-                               this.__LZmovieClipRef = 
this.sprite.__LZmovieClipRef;
-                               var vid = this._getflashvideo();
-                               vid._x = 0;
-                               vid._y = 0;
-                               this.applySizeToVid();
-                               if ($debug) Debug.write("init");
-                               </method>
-                               <method name="applySizeToVid">
-                                       var vid = this._getflashvideo();
-                                       vid._width = this.width;
-                               vid._height = this.height;
-                               </method>
-                               <method name="_getflashvideo">
-                                       <![CDATA[
-                                   return this.__LZmovieClipRef.__lzvideo;
-                               ]]>
-                           </method>
-                           <method name="stop">
-                               this.__LZmovieClipRef.__lzvideo.clear();
-                           </method>    
-                           <!--- shows the Video (can be a Cam-Instance or a 
NetStream) in the View -->
-                           <method name="attachVideo" args="video">
-                               var vid = this._getflashvideo();
-                               vid.attachVideo(video);
-                           </method>
-                       </view>
-                       
-                       <view height="20" />
-                       <text fontstyle="bold" text="Play-Broadcast(Subscribe 
to a Live Stream) - Settings" />
-                       <view width="450">
-                               <text text="StreamName (Play):" />
-                               <edittext align="right" width="150" 
id="streamname2" text="stream1" />
+                                               </handler>
+                                       </combobox>
+                               </view>
+                               <!--- Audio-Rate -->
+                               <view width="450">
+                                       <text text="Rate:" />
+                                       <edittext align="right" width="150" 
id="streamrate" text="22" />
+                                       <text fontstyle="italic" y="26" 
width="450" multiline="true">
+                                               rate:Number - The rate at which 
the microphone should capture sound, in kHz. Acceptable values are 5, 8, 11, 
22, and 44. The
+                                               default value is 8 kHz if your 
sound capture device supports this value. Otherwise, the default value is the 
next available capture
+                                               level above 8 kHz that your 
sound capture device supports, usually 11 kHz.
+                                       </text>
+                               </view>
+                               <!--- useEchoSupression -->
+                               <view width="450">
+                                       <checkbox id="streamuseEchoSuppression" 
text="useEchoSuppression"
+                                               value="true" />
+                                       <text fontstyle="italic" y="26" 
width="450" multiline="true">
+                                               public useEchoSuppression : 
Boolean [read-only] Property (read-only); a Boolean value of true if echo 
suppression is enabled, false
+                                               otherwise. The default value is 
false unless the user has selected Reduce Echo in the Flash Player Microphone 
Settings panel.
+                                               <br/><br/>
+                                               Echo suppression is an effort 
to reduce the effects of audio feedback, which is caused when sound going out 
the speaker is picked up by the microphone on the same system. (This is 
different from acoustic echo cancellation, which completely removes the 
feedback. The setUseEchoSuppression() method is ignored when you call the 
getEnhancedMicrophone() method to use acoustic echo cancellation.)
+                                       </text>
+                               </view>
+                               
+                               <!--- enhanced Microphone -->
+                               <view width="450">
+                                       <checkbox id="useEnhancedMicrophone" 
text="Use Enhanced Microphone"
+                                               value="true" />
+                                       <text fontstyle="italic" y="26" 
width="450" multiline="true">
+                                       To use acoustic echo cancellation, set 
this value to true.
+                                       </text>
+                               </view>
+                       </view>
+
+                       <!--- Play Area -->
+                       <view layout="axis:y;spacing:4" width="450">
+
+                               <!--- Video Output -->
+                               <view id="playVideo" bgcolor="black" 
width="320" height="240">
+                               
+                                       <passthrough when="$as3">
+                                       import flash.media.*;
+                                       import flash.net.NetConnection;
+                                       import flash.net.NetStream;
+                                   </passthrough>
+                               
+                                       <method name="init"><![CDATA[
+                                       super.init();
+                                       var mc = new Video(this.width, 
this.height);
+                                       this.sprite.addChild(mc);
+                                       this.__LZvideo = mc;
+                                       this.applySizeToVid();
+                                   ]]></method>
+                                       <method name="applySizeToVid">
+                                               if (this.__LZvideo == null) {
+                                                       return;
+                                               }
+                                               var vid = this._getflashvideo();
+                                               vid.width = this.width;
+                                               vid.height = this.height;
+                                       </method>
+                                       <method name="_getflashvideo">
+                                               <![CDATA[
+                                           //Debug.write("_getflashvideo()");
+                                           return this.__LZvideo;
+                                       ]]>
+                                   </method>
+                                       <method name="stopIt">
+                                               if (this.__LZvideo == null) {
+                                                       return;
+                                               }
+                                               var vid = this._getflashvideo();
+                                       vid.attachNetStream(null);
+                                               this.__LZvideo.clear();
+                                       </method>
+                                       <!--- shows the Video (can be a 
Cam-Instance or a NetStream) in the 
+                                               View -->
+                                       <method name="attachVideo" args="video">
+                                               var vid = this._getflashvideo();
+                                               vid.attachNetStream(video);
+                                       </method>
+                               </view>
+
+                               <view height="20" />
+                               <text fontstyle="bold"
+                                       text="Play-Broadcast(Subscribe to a 
Live Stream) - Settings" />
+                               <view width="450">
+                                       <text text="StreamName (Play):" />
+                                       <edittext align="right" width="150" 
id="streamname2" text="stream1" />
+                               </view>
+                               <!--- Buffer Time -->
+                               <view width="450">
+                                       <text text="BufferTime:" />
+                                       <edittext align="right" width="150" 
id="streambuffer"
+                                               text="0.3" />
+                                       <text fontstyle="italic" y="26" 
width="450" multiline="true">
+                                               public bufferTime : Number 
[read-only] The number of seconds assigned to the buffer by
+                                               NetStream.setBufferTime(). The 
default value is .1(one-tenth of a second). To determine the number of seconds 
currently in the
+                                               buffer, use 
NetStream.bufferLength.
+                                       </text>
+                               </view>
+                               <button align="right" width="200" 
text="playBroadCast"
+                                       onclick="canvas.playBroadCast()" />
+                               <button align="right" width="200" 
text="stopPlayBroadCast"
+                                       onclick="canvas.stopPlayBroadCast()" />
                        </view>
-                       <!--- Buffer Time -->
-                       <view width="450">
-                               <text text="BufferTime:" />
-                               <edittext align="right" width="150" 
id="streambuffer" text="0.3" />
-                               <text fontstyle="italic" y="26" width="450" 
multiline="true">
-                                       public bufferTime : Number [read-only]
-                                       The number of seconds assigned to the 
buffer by NetStream.setBufferTime(). The default value is .1(one-tenth of a 
second). To determine the number of seconds currently in the buffer, use 
NetStream.bufferLength.
-                               </text>
-                       </view>         
-                       <button align="right" width="200" text="playBroadCast" 
onclick="canvas.playBroadCast()" />
-                       <button align="right" width="200" 
text="stopPlayBroadCast" onclick="canvas.stopPlayBroadCast()" />
                </view>
+               <vscrollbar />
        </view>
-       <om_vscrollbar />
-</view>
 
 </canvas>

Added: 
incubator/openmeetings/trunk/singlewebapp/WebContent/src/test/test-setup.lzx.swf11.swf
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/WebContent/src/test/test-setup.lzx.swf11.swf?rev=1397817&view=auto
==============================================================================
Binary file - no diff available.

Propchange: 
incubator/openmeetings/trunk/singlewebapp/WebContent/src/test/test-setup.lzx.swf11.swf
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream


Reply via email to