Avatar

Level 2

Hello ,
thanks for your help !
i don't understand your message, "Try putting your pods inside the ConnectSessionContainer and see if that fixes your problem.",

then ??? i must change for example : "     <mx:VBox width="60%" height="100%" horizontalAlign="center"> 
<rtc:WebCamera id="webcam" width="100%" height="100%"     />
</mx:VBox>
<mx:VBox width="634" height="100%"  right="0">
<rtc:SimpleChat id="chat" width="100%" height="40%" />
     <rtc:Note id="notes" width="100%" height="40%" />
  <rtc:FileShare id="fileManager" width="100%" height="20%" />
"

for this ->"<mx:VBox width="60%" height="100%" horizontalAlign="center"> 
<rtc: ConnectSessionContainer id="webcam" width="100%" height="100%"     />
</mx:VBox>
<mx:VBox width="634" height="100%"  right="0">
<rtc: ConnectSessionContainer id="chat" width="100%" height="40%" />
     <rtc: ConnectSessionContainer id="notes" width="100%" height="40%" />
  <rtc: ConnectSessionContainer id="fileManager" width="100%" height="20%" />", no , i think this is bad , and don't run !
 
Sorry i don't understand your message , thanks for your help.
 
 
Yes i put back together the file, also you can see this:

<?xml version="1.0" encoding="utf-8" ?>
<!--  Ce programme va me servir à integrer les pods à ma page web -->
<mx:Application layout="absolute"
xmlns:mx="http://www.adobe.com/2006/mxml"
xmlns:rtc="AfcsNameSpace"
>
<!-- cette partie du code es là plus interessante car elle sert à capter le moment où notre application est connectée et synchronisée, nous pouvons ajouter un écouteur d’événement SessionEvent.SYNCHRONIZATION_CHANGE sur le container, et surveiller sa propriété ‘isSynchronized‘. Nous reviendrons prochainement sur les différents aspects et acteurs en jeu lors de cette synchronisation. -->

<mx:Script>
         <![CDATA[
            import mx.controls.Alert;
           
            import com.adobe.rtc.events.SessionEvent;
    import com.adobe.rtc.messaging.UserRoles;
   
    import com.adobe.rtc.collaboration.AudioPublisher;     // AudioPublisher me sert pour la gestion du  microphone
    //import com.adobe.rtc.collaboration; // me sert pour la gestion du  microphone
    //import com.adobe.rtc.clientManagers;// me sert pour la gestion du  microphone
    import com.adobe.rtc.collaboration.AudioSubscriber  ;
   
    import com.adobe.rtc.events.StreamEvent;// pour le son (audio xml)
   
   
   
    import mx.events.ItemClickEvent;    //pour le son ( audio xml)
   import mx.controls.Label;
   import mx.core.UIComponent;             // me sert pour la gestion du  microphone
   import flash.events.EventDispatcher// me sert pour la gestion du  microphone
  
   import flash.net.*; // ca me sert pour la redirection vers  vers une page web , voir là private function get_URL():void
  
   // debut mise a jour 130609
   import com.adobe.rtc.pods.WebCamera;
         import com.adobe.rtc.sharedManagers.UserManager;
         import com.adobe.rtc.pods.SharedWhiteBoard;
    //fin mise a jour
  
  
             // état de la session
             private var isConnected:Boolean = false;
             private var activityTimer:Timer = new Timer(30,1);  // adel  ???
            
            
             // pour envoyé info a php   ct un test
          //   import mx.collections.ArrayCollection;
   //import mx.rpc.events.ResultEvent;
   //import com.adobe.serialization.json.JSON;
            
            
            
             //---------------------DEBUT SONNN                           ----------------------------------------->
            
       
       
       
       
        
/**
* When a click starts the audio, it publishes the audio through AudioPublisher.
* Another click stops the audio.
*/
private function onAudioClick(p_evt:MouseEvent):void
{
if ( p_evt.currentTarget.label == "Start My Audio" ) {
audio.publish();
p_evt.currentTarget.label = "Stop My Audio" ;
}else if (p_evt.currentTarget.label == "Stop My Audio" ){
audio.stop();
p_evt.currentTarget.label = "Start My Audio" ;
}
}
       
       
       
       
      /**
* Changes the gain by changing the gain slider value.
*/
private function onGainChange(event:Event):void
{
audio.gain = gainSlider.value ;
}
/**
* * Controls echo suppression through the use of radio buttons.
*/
private function onItemClick(p_evt:ItemClickEvent):void
{
if ( p_evt.currentTarget.selectedValue == "Yes" ) {
audio.useEchoSuppression = true ;
}else if ( p_evt.currentTarget.selectedValue == "No" ) {
audio.useEchoSuppression = false ;
}
}

  
           
            
            
           
  
  
            
             //--------------------FN SONNNNNN                       ------------------------------------------------>
            
            
            
            
            
            
                // à chaque évenement de synchronisation de la session
   // connexion, deconnexion, changement d'état de salon, ...
   private function onSynchro( e:SessionEvent ):void
   {
       // une fois que l'application parvient à se connecter / synchroniser
   
       if ( sessionManager.isSynchronized && !isConnected )
       {
           Alert.show("BIENVENUE A LA PETITE AGENCE");
           Alert.show("Application connectée");
   
           isConnected = true ;
   
           removeChild( logPanel );
   
       } else if ( ! sessionManager.isSynchronized && isConnected ){
       // si la connexion est perdue
       isConnected = false ;
   
      /* supprime le container de session
      *  » il semble que dans cette version certains pods une fois déconnectés n'arrivent pas à se reconnecter.
      *
      *  » Pour se reconnecter, il faudra donc :
      *     - soit forcer le rechargement de la page
      *     - recréer dynamiquement le gestionnaire de sessionet ses pods
      */
      removeChild( sessionManager );
   
      // affichage d'un message de sortie de salon
      Alert.show( 'vous avez quitté la réunion, recharger la page pour entrer à nouveau');
      }
   }
             private function login ( login:String, password:String ):void
   {
      identificator.userName = login;
      // si le mot de passe est renseigné : connexion en tant que hôte ,
      // sinon connexion en tant    qu'invité
      identificator.password = password ;
      // lance la connexion du gestionnaire de session
      sessionManager.login();
    
   }
            
         
          private function get_URL():void
   {
      navigateToURL(new URLRequest('http://petite-agence.fr/client.php'), "_blank"); 
   }
         
          //old http://florianbrunet.comoj.com/jipeg/client.php
         
         
         
         
             // deconnexion
   // il semble qu'avec cette version (0.9), la plupart des pods, une fois déconnectés, ne peuvent être reconnectés.
   private function logout():void
   {
       sessionManager.logout();
   
       // close() est censé provoquer une déconnexion et la suppression de tous les noeuds enfants, mais ne semble pas encore marcher...
       //sessionManager.close();
   }
  
   private function jipeg_():void
   {
    Alert.show('La petite agence');
   jipeg_true.label="fffffffff";
   }
  
   /*private function sendPHPData():void
   {
   var objSend:Object = new Object();
   var dataString:String = JSON.encode(list.dataProvider.toArray());
   dataString = escape(dataString);
   objSend.setTutorials = “true”;
   objSend.jsonSendData = dataString;
   sendData.send(objSend);
   }
  
   */
  
  
   //---------------------------------test fileshare ------------------------------------
   //public function uploadFileReference(p_fileReference:FileReference):void
   // fuck j'y arive pas
   //----------------------------------------------------------------------------------------
  
/*adel   public function _creating(activer_son:Boolean ):void
   {
  
     clientManagers._creating(activer_son);
  
   
   }
   */
  
      ]]>
</mx:Script>

<!--  fin de cette partie  -->
<!-- Container Gestionnaire de session (le bon enfin trouvé) -->
<rtc:ConnectSessionContainer id="sessionManager"
width="500" height="400" backgroundColor="#FFFFFF"
authenticator="{identificator}"  autoLogin="false"
roomURL="http://connectnow.acrobat.com/lionceau01/essai"
synchronizationChange="onSynchro( event )"
/>

<!-- PODS -->
   <mx:VBox width="60%" height="100%" horizontalAlign="center">
       <rtc:WebCamera id="webcam" width="100%" height="100%" 
       
       
        />
       
   </mx:VBox>



<mx:VBox width="634" height="100%"  right="0">
 






<rtc:SimpleChat id="chat" width="100%" height="40%" />
     <rtc:Note id="notes" width="100%" height="40%" />
  <rtc:FileShare id="fileManager" width="100%" height="20%" />
  <!-- ligne à finir <rtc:SharedWhiteBoard id="essai" width="50%" height="50%" />          -->





<!--<mx:VBox paddingLeft="15" fontWeight="bold" width="70%">
<mx:Label text="Microphone Volume"/>
<mx:ProgressBar id="activityProgress" minimum="0" maximum="100" mode="manual" label="" />
</mx:VBox> -->

<rtc:AudioPublisher id="audio" height="0" />
<rtc:AudioSubscriber />


<mx:HBox width="633" horizontalAlign="left">
        <!-- scroll bar pourle volume -->
  <mx:VBox paddingLeft="15" width="179">
  <mx:Label text="Gain" fontWeight="bold" />
  <mx:HSlider id="gainSlider" minimum="0" maximum="100" width="90%" value="{audio.gain}" labels="[0,50,100]" change="onGainChange(event)"  height="30"/>
  <mx:Label text="EchoSuppression"/>
  <mx:RadioButton label="Oui" selected="{audio.useEchoSuppression}" groupName="echoGroup" />
  <mx:RadioButton label="Non" selected="{!audio.useEchoSuppression}" groupName="echoGroup"/>
  <mx:Button id="audioButt" label="Lancer le son" toggle="true" >
   <mx:click>(audioButt.selected) ? audio.publish() : audio.stop()</mx:click>
  </mx:Button>
  </mx:VBox>
 
   <mx:VBox paddingLeft="15" fontWeight="bold" width="443" height="168" verticalGap="12">
  <mx:RadioButtonGroup id="echoGroup" itemClick="onItemClick(event)" />
  <mx:VBox paddingLeft="15" fontWeight="bold" width="361" height="49">
  <mx:RadioButtonGroup id="echoGroup1" itemClick="onItemClick(event)" />
  <mx:HBox width="254" horizontalAlign="center">
   <mx:Button label="  Votre dossier " click="get_URL()" />
   <mx:Button label="Déconnexion" click="logout()" />
  </mx:HBox>
  <mx:LinkButton label="La petite agence" enabled="false" id="jipeg_true"  click="jipeg_()" width="250" textAlign="center" height="18"/>
  </mx:VBox>
  <mx:SWFLoader width="425" height="103" source="../flash/small_pub_petite_agence.swf"/>
   </mx:VBox>
</mx:HBox>







      
     

   
<!--
   <mx:Button id="btnTalk"
    label="{btnTalk.selected ? 'Stop Talking':'Start Talking'}"
    toggle="true"
    click="{btnTalk.selected ? audio.publish():audio.close()}"
   />
-->
  
  
  
   <!-- only listen to the subscribers we have selected -->
  
     

<!-- what do ? how do ? i have many bug  -->
     

       

     
     
     
<!--adel     <mx:Button label="activer le son" click="_creating(true)" />
      <mx:Button label="+ volume" click="gain(2)" />
      <mx:Button label="- volume" click="gain(-2)" />
-->    
   
      
</mx:VBox>
 

  <!-- ceci est ce que je rajoute dans le code .. pour permettre à l'utilisateur de se conneter et de ce déconecter -->
   <!--<mx:VBox width="5%" height="5%" horizontalAlign="center" right="0">
    <mx:Button label="Déconnexion" click="logout()" />
   </mx:VBox>-->
  <!-- fin de ceci -->
  
<!-- Ceci est est le code qui permet de se connecter avec un Formulaire d'identification -->
<mx:Panel id="logPanel" >
   <mx:Form>
      <mx:FormItem label="La petite agence vous souhaite la bienvenue dans la salle de visio conference">
      </mx:FormItem>
      <mx:FormItem label="Login">
         <mx:TextInput id="chp_login" />
      </mx:FormItem>

      <mx:FormItem label="Se connecter en tant que :" direction="horizontal" >

         <mx:RadioButtonGroup id="userRole" />

         <mx:RadioButton id="isGuest" groupName="userRole"
            label="client" value="{UserRoles.VIEWER}"  selected="true"
          enabled="true" color="#FC0505"/>
         <mx:RadioButton id="isOwner" groupName="userRole"
            label="Hôte" value="{UserRoles.OWNER}"
          fontFamily="Verdana" color="#7C1414"/>
      </mx:FormItem>

      <mx:FormItem label="Mot de passe"  enabled="{ userRole.selectedValue == UserRoles.OWNER }">
         <mx:TextInput id="chp_password" displayAsPassword="true"  />
      </mx:FormItem>

      <mx:FormItem >
         <mx:Button label="Entrer"

         
            click="login(chp_login.text , userRole.selectedValue == UserRoles.OWNER ? chp_password.text : null  )"
           color="#34DAFE"/>
      </mx:FormItem>

   </mx:Form>
</mx:Panel>

<!-- fin de Ceci-->

<!-- userName="" password="cyberflo"  cette ligne sert a se connecter automaiquement avec PASS et un ID  ,pour l'utiliser faut donc mettre dans le Container Gestionnaire de session  autoLogin="true" (rappel : c 'est true par defaut ) -->
<!-- composant d'identification -->
<rtc:AdobeHSAuthenticator id="identificator"

userName="" password=""
  authenticationSuccess="Alert.show('identification réussie')"
  authenticationFailure="Alert.show('erreur d\'identification')"
/>

</mx:Application>

see you soon and many thanks for your help,
Lionceau,