Expand my Community achievements bar.

LCCS screenshare examples - warning in Design Mode

Avatar

Level 2

Hello Everyone,

I am getting a warning when I open the screensharing examples within LCCS

Description Resource Path Location Type

Design mode could not load lccs.swc. It may be incompatible with this SDK, or invalid. (DesignAssetLoader.CompleteTimeout) ScreenShareMultiSubscriberExample.mxml /Broadcatster/src Unknown Problem

I was wondering if anyone may have an idea of what could be causing this.

Kind regards.

+LA

29 Replies

Avatar

Former Community Member

Which version of LCCS swc you are using 9/10/10.1 . It may be that if you are building your app with Flash Builder and spark framework , then you may get warning in design mode for lccs as they are built using the mx components. Moreover, why you need the design mode for ? We just released our first version of ScreenShare components and I don't think they work properly in design mode.

What is the result you are seeing when you open use screen share components in design mode ?

Thanks

Hironmay Basu

Avatar

Level 2

Hi Hironmay,

Not really doing anything particular with the DesignMode other than looking at how it looks verbatin form the examples withi LCCS, I suspected it has to do with spark, just wanted to get confirmation.

I am using version 10. BTW wondering if version 10.1 would be better than 10 strictly for screensharing.

Essentially all I want to do is run the example as is. However I notice the sharing dialog window does not come up all the time. Any thoughts on that?

+LA

Avatar

Former Community Member

Hi LA,

I don't think there will be any difference running with player 10.1 vs player 10 swc. In fact, player 10 swc is our most used version, plus you have the source code also for player 10 that makes any kind of debugging much easier. And yes, spark is the reason I believe for the warning.

Which example you are trying to run ? You need to normally wait a couple of seconds before the dialog for sharing comes up. Run the publisher example and the subscriber flex examples and start sharing and let us know what problem you are facing. You can also link to the SDK source in case you are using player 10, which might help you in case of any errors in screen sharing.

Hope this helps

Thanks

Hironmay Basu

Avatar

Level 2

I too am getting this Warning and nothing I do gets rid of it, I have tried loading swc10 and 10.1 and set preferences for specific Flash Player 10.1.0.

I want to build Michael Chaize's Chat Room but cannot get past this initial problem. If Michael has done it it must be possible for others to do so.

Any help appreciated


Ian

Avatar

Level 2

The ConnectionSessionContainer will not show on the page nor anything within it

Avatar

Former Community Member

Hi,

As I mentioned in the posts above, if you are using Flash Builder and spark and use our screen share components , it may not work in design mode because our components are built with mx component set. But you can just get rid of the warning.

Incase even without the design mode, you can't get the screen share to work, send me the mxml sample file that’s not working for you. I will take a look

Hope this helps

Thanks

Hironmay Basu

Avatar

Level 2

Thanks Hironmay,

The VERY BASIC code is this:

<?xml version="1.0" encoding="utf-8"?>

<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"

   xmlns:s="library://ns.adobe.com/flex/spark"

   xmlns:mx="library://ns.adobe.com/flex/mx" width="550" height="550" xmlns:rtc="http://ns.adobe.com/rtc">

<fx:Declarations>

<!-- Place non-visual elements (e.g., services, value objects) here -->

</fx:Declarations>

<fx:Script>

<![CDATA[

]]>

</fx:Script>

<rtc:ConnectSessionContainer width="250" height="527" x="15" y="13">

<rtc:SimpleChat width="230" height="507" x="10" y="10"/>

</rtc:ConnectSessionContainer>

<rtc:WebCamera x="273" y="13"/>

</s:Application>

When I Run the app the page is blank

Avatar

Level 2

Hironmay, updated source code:

<?xml version="1.0" encoding="utf-8"?>

<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"

   xmlns:s="library://ns.adobe.com/flex/spark"

   xmlns:mx="library://ns.adobe.com/flex/mx" width="550" height="550" xmlns:rtc="http://ns.adobe.com/rtc">

<fx:Script>

<![CDATA[

import mx.events.FlexEvent;

protected function txtusername_enterHandler(event:FlexEvent):void

{

// TODO Auto-generated method stub

connectRoom.login();

}

]]>

</fx:Script>

<fx:Declarations>

<!-- Place non-visual elements (e.g., services, value objects) here -->

</fx:Declarations>

<rtc:ConnectSessionContainer x="10" y="10" width="530" height="530"

  roomURL="https://collaboration.adobelivecycle.com/publishing1/sourceroom"

   id="connectRoom"

    autoLogin="false">

<rtc:authenticator>

<rtc:AdobeHSAuthenticator userName="{txtusername.text}"/>

</rtc:authenticator>

<rtc:SimpleChat x="10" y="10" sessionDependent="true" useExternalContextMenu="false" newMessageColor="0x000000" width="241" height="510"/>

<rtc:ScreenShareSubscriber id="screenShare" width="250" height="250" x="270" y="270"/>

<rtc:WebcamSubscriber x="270" y="10" displayUserBars="true" height="250" width="250"/>

</rtc:ConnectSessionContainer>

<s:TextInput x="274" y="0" id="txtusername" enter="txtusername_enterHandler(event)"/>

</s:Application>

Still getting a blank screen.

Ian

Avatar

Former Community Member

Hi,

I ran your code in your room. So, initially you get a textbox and then when you type a name and hit enter, you try to enter the room. But you need to at least first enter the room as an owner (with your credentials)to set up the collectionnodes for various components such as chat, webcam etc that you are using or you can create the room from template. Once you do that you can enter the way you are doing now i.e. as guest everything is fine.

Also, in your code, I don’t see ScreenSharePublisher. You need to add that too and start publishing your stream, and not just ScreenShareSubscriber, which is just for viewing the shared screen. Look at the ScreenShareExample folder in sampleApps for details

Thanks

Regards

Hironmay Basu

Avatar

Level 2

How can I view sample templates to get an understanding of the nodes set up?

Sorry this is so basic but I can't get my head around this.

Regards

Ian

Ian Bennett,

Lecturer,

Department of English, Communication, Film and Media,

Anglia Ruskin University,

East Road,

Cambridge CB1 1PT.

This e-mail and any attachments are intended for the above named recipient(s)

only and may be privileged. If they have come to you in error you must take

no action based on them, nor must you copy or show them to anyone: please

reply to this e-mail to highlight the error and then immediately delete the

e-mail from your system.

Any opinions expressed are solely those of the author and do not necessarily

represent the views or opinions of Anglia Ruskin University.

Avatar

Level 2

Hey,hey, I'm cooking on gas now - things are happening, a Whiteboard even! I can't get the webcam to work though - a tutorial I watched implied that all I had to do was simply insert one in the Session container but I think I might need some script to make it work.

Thanks for your help so far on this Hironmay

Ian

Avatar

Former Community Member

Basically, if you have any existing room , you can save that room as a template from either dev-console or server to server APIs.

For e.g. let's say you have an example in which you put chat, whiteboard, camera and note. When you first log into that app, log in with your credentials and nodes for those components will get set up. From next time onwards, whenever you save this room as a template, you will get a room that has all these component nodes and you would never need to get in with a credentials(unless you are trying to create some new nodes in your new room).

To see the nodes and collectionnodes in a room, log into the room using our dev console and go to the Explore tab.

Thanks

Hironmay Basu

Avatar

Former Community Member

Hi,

For Camera, if you want to just add a standard camera, make sure you have added the WebCamera component and not WebcamPublisher/WebcamSubscriber because If you add any of those two components , you would have to add your own buttons etc and call publishing/stopping functions yourself.

So, for your requirements, I believe WebCamera component is good enough.

To see details on the usage, open the DefaultPods example in sampleApps folder and run that and see its code. That sample uses WhiteBoard, Camera etc.

Thanks

Hironmay Basu

Avatar

Level 2

Thank you so much Hironmay - it's good to know that there is help when you need it (buy that man a beer, or two).

I think I'm gradually getting the hang of this - next project will be to try and build a ScreenShare, this will be invaluable for teaching my students the software that I am comfortable with.

Ian

Avatar

Level 2

Hi Hironmay,

Would you have any ideas why I can't run the debugger in Flashbuilder 4? I

get the message that it can't be located but it is installed.

Regards

Ian

Ian Bennett,

--

EMERGING EXCELLENCE: In the Research Assessment Exercise (RAE) 2008,

more than 30% of our submissions were rated as 'Internationally

Excellent' or 'World-leading'. Among the academic disciplines now rated

'World-leading' are Allied Health Professions & Studies; Art & Design;

English Language & Literature; Geography & Environmental Studies;

History; Music; Psychology; and Social Work & Social Policy &

Administration. Visit www.anglia.ac.uk/rae for more information.

This e-mail and any attachments are intended for the above named

recipient(s)only and may be privileged. If they have come to you in

error you must take no action based on them, nor must you copy or show

them to anyone please reply to this e-mail to highlight the error and

then immediately delete the e-mail from your system. Any opinions

expressed are solely those of the author and do not necessarily

represent the views or opinions of Anglia Ruskin University. Although

measures have been taken to ensure that this e-mail and attachments are

free from any virus we advise that, in keeping with good computing

practice, the recipient should ensure they are actually virus free.

Please note that this message has been sent over public networks which

may not be a 100% secure communications

Email has been scanned for viruses by Altman Technologies' email

management service - www.altmanco.uk/emailsystems

Avatar

Former Community Member

Hi,

That’s strange. Sometimes stopping flex builder and restarting helps. However, you may want to put this question to the Flex/Flash Builder team forums.

I haven't faced such an issue.

Thanks

Hironmay Basu

Avatar

Level 2

Is there a tutorial out there that shows how to build a simple screen share facility using lccs and flashbuilder 4?

The only ones I have found are either mx applications and won't run or Michael Chaize's tutorial which leaves out some script so it won't work.

I really don't know where to look for help on this and would be grateful for any assistance.

Ian

Avatar

Former Community Member

Hi,

Firstly, you can always use mx components in Flash Builder 4. Just make sure in your library path you and turning on mx+Spark as the component set required.

Regarding examples, I agree that our examples are in mx , for e.g. the screen sharing one. However, you can simply port the example that’s there in mx to spark. All I believe you need to change is the namespace that s:Application instead of mx:Application and any other namespace changes.

Try that out and then you can send over the code to me , I can take a look if its still not working.

Thanks

Hironmay Basu

Avatar

Level 2

Here's the code Hironmay, if you change it to <s:Application> it throws an error at line 4.

If I run this as it is I get a whole bunch of error warnings in a pop-up panel, so not sure what that's about.

I did insert all my id and room url's in the one on my computer by the way - they are blank in the code below.

Would you be able to give me a clue as to what "Stream ID" and "Publisher ID" refer to. I know this is a lot to ask but for beginners there really is a lot to learn here. I sense that a beginners book might be in order here!!

Ian

<?xml version="1.0" encoding="utf-8"?>

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"

xmlns:rtc="http://ns.adobe.com/rtc"

xmlns:s="library://ns.adobe.com/flex/spark">

<mx:Script>

<![CDATA[

/**********************************************************

* ADOBE SYSTEMS INCORPORATED

* Copyright 2010 Adobe Systems Incorporated

* All Rights Reserved.

* NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the

* terms of the Adobe license agreement accompanying it.If you have received this file from a

* source other than Adobe, then your use, modification, or distribution of it requires the prior

* written permission of Adobe.

* *********************************/

import com.adobe.rtc.events.AddInLauncherEvent;

import com.adobe.rtc.events.StreamEvent;

import com.adobe.rtc.sharedManagers.descriptors.UserDescriptor;

/* import com.adobe.rtc.collaboration.ScreenSharePublisher;

protected var _sspublisher:ScreenSharePublisher;

public function init():void

{

/* launch it from actionscript

_sspublisher = new ScreenSharePublisher();

addChild(_sspublisher);

_sspublisher.publish();

//trace("streamManager: " + cSession.streamManager.sharedID);

}

*/

private function startSS():void

{

if(sspublisher != null && !sspublisher.isPublishing) {

sspublisher.addEventListener(StreamEvent.STREAM_RECEIVE, onStreamReceived);

sspublisher.addEventListener(AddInLauncherEvent.STOP, onAddinStop);

//sspublisher.addEventListener(StreamEvent.STREAM_DELETE, onStreamDelete);

sspublisher.publish();

startss_bt.enabled = false;

stopss_bt.enabled = true;

pause_bt.enabled = true;

pause_bt.label = "Pause Screen Sharing";

}

}

private function stopSS():void

{

if(sspublisher != null && sspublisher.isPublishing) {

sspublisher.stop(publisherid.text);

startss_bt.enabled = true;

stopss_bt.enabled = false;

pause_bt.enabled = false;

publisherid.text = "";

streamid.text = "";

}

}

// addin cancelled

private function onAddinStop(p_evt:AddInLauncherEvent):void{

startss_bt.enabled = true;

stopss_bt.enabled = false;

pause_bt.enabled = false;

publisherid.text = "";

streamid.text = "";

}

private function pauseSS():void

{

if(sspublisher != null && sspublisher.isPublishing) {

if(pause_bt.label == "Pause Screen Sharing") {

sspublisher.pause(true);

pause_bt.label = "Resume Screen Sharing";

}

else{

sspublisher.pause(false);

pause_bt.label = "Pause Screen Sharing";

}

}

}

private function onStreamDelete(p_evt:StreamEvent):void

{

if(p_evt.streamDescriptor.streamPublisherID == publisherid.text && sspublisher.isPublishing)

{

sspublisher.stop(p_evt.streamDescriptor.streamPublisherID);

startss_bt.enabled = true;

stopss_bt.enabled = false;

pause_bt.enabled = false;

}

}

private function onStreamReceived(p_evt:StreamEvent):void

{

var publisherDescriptor:UserDescriptor = null;

if(p_evt.streamDescriptor.originalScreenPublisher != null)

publisherDescriptor = cSession.userManager.getUserDescriptor(p_evt.streamDescriptor.originalScreenPublisher);

else

publisherDescriptor = cSession.userManager.getUserDescriptor(p_evt.streamDescriptor.streamPublisherID);

var myDescriptor:UserDescriptor = cSession.userManager.getUserDescriptor(cSession.userManager.myUserID);

if(publisherDescriptor.displayName == myDescriptor.displayName ||

publisherDescriptor.userID.indexOf(myDescriptor.userID) >= 0){

publisherid.text = p_evt.streamDescriptor.originalScreenPublisher;

streamid.text = p_evt.streamDescriptor.id;

}

}

]]>

</mx:Script>

<!--

You would likely use external authentication here for a deployed application;

you would certainly not hard code Adobe IDs here.

-->

<rtc:AdobeHSAuthenticator

id="auth" userName="" password=""/>

<rtc:ConnectSessionContainer backgroundAlpha="0.0" roomURL="" id="cSession" authenticator="{auth}" width="100%" height="100%">

<mx:Canvas width="100%" height="100%">

<rtc:ScreenSharePublisher id="sspublisher" playerVersion="10"/>

<mx:VBox width="100%" height="100%" horizontalAlign="center">

<mx:VBox width="50%" height="50%"  horizontalAlign="center" verticalAlign="middle">

<mx:Label text="Stream ID:"/><mx:TextInput id="streamid" text=""/>

<mx:Label text="Publisher User ID:"/><mx:TextInput id="publisherid" text=""/>

</mx:VBox>

<mx:HBox width="50%" height="50%" horizontalAlign="center" verticalAlign="middle">

<mx:Button id="startss_bt" label="Start Screen Sharing" click="startSS()"/>

<mx:Button id="pause_bt" label="Pause Screen Sharing" click="pauseSS()" enabled="false"/>

<mx:Button id="stopss_bt" label="Stop Screen Sharing" click="stopSS()" enabled="false"/>

</mx:HBox>

</mx:VBox>

</mx:Canvas>

</rtc:ConnectSessionContainer>

</mx:Application>

Avatar

Level 2

The bunch of errors I get when app is run are:

ypeError: Error #1009: Cannot access a property or method of a null object reference.

at ScreenSharePublisherExample/onStreamReceived()[/Users/ianbennett/Documents/Chat/src/ScreenSharePublisherExample.mxml:107]

at flash.events::EventDispatcher/dispatchEventFunction()

at flash.events::EventDispatcher/dispatchEvent()

at mx.core::UIComponent/dispatchEvent()[E:\dev\4.0.0\frameworks\projects\framework\src\mx\core\UIComponent.as:12266]

at com.adobe.rtc.collaboration::ScreenSharePublisher/onStreamReceive()[C:\work\main\connect\cocomoPlayer10\src\com\adobe\rtc\collaboration\ScreenSharePublisher.as:1049]

at flash.events::EventDispatcher/dispatchEventFunction()

at flash.events::EventDispatcher/dispatchEvent()

at com.adobe.rtc.sharedManagers::StreamManager/onItemReceive()[C:\work\main\connect\cocomoPlayer10\src\com\adobe\rtc\sharedManagers\StreamManager.as:1729]

at flash.events::EventDispatcher/dispatchEventFunction()

at flash.events::EventDispatcher/dispatchEvent()

at com.adobe.rtc.sharedModel::CollectionNode/http://www.adobe.com/2006/connect/cocomo/messaging/internal::receiveItem()[C:\work\main\connect\cocomoPlayer10\src\com\adobe\rtc\sharedModel\CollectionNode.as:777]

at com.adobe.rtc.messaging.manager::MessageManager/http://www.adobe.com/2006/connect/cocomo/messaging/internal::receiveItem()[C:\work\main\connect\cocomoPlayer10\src\com\adobe\rtc\messaging\manager\MessageManager.as:718]

at com.adobe.rtc.session.managers::SessionManagerBase/receiveItem()[C:\work\main\connect\cocomoPlayer10\src\com\adobe\rtc\session\managers\SessionManagerBase.as:413]