IE 7 & NetStream

i have a flv I load and Play . we i Click on one of the 4
buttons to play the next flv and the first flv is not jet loaded
absolutely, it freezes the Browser. this only happens in IE 7.
I need help.
http://www.michelpower.ch/debug_2.html

-------------------here is the code---------------
var my_video:Video;
var my_nc:NetConnection = new NetConnection();
my_nc.connect(null);
var my_ns:NetStream = new NetStream(my_nc);
my_video.attachVideo(my_ns);
_global.vars = new Object();
/////////////////////////video //////////////////////////////
function playVid(viv:String){
my_ns.stop();
my_ns.play(viv);
vars.justPlayed = viv
my_ns.onStatus = function (vInfo) {
log.info(vInfo.code)
if(vInfo.code == "NetStream.Play.Start"){
vars.doingit = vars.justPlayed
if (vInfo.code == "NetStream.Play.Stop") {
trace("finished")
my_ns.stop();
my_ns.play("
http://www.michelpower.ch/_flv/225.flv");
//////////////////////// btn ////////////////
mc1.onRelease = function(){
my_ns.play("
http://www.michelpower.ch/_flv/237.flv");
mc2.onRelease = function(){
my_ns.play("
http://www.michelpower.ch/_flv/211.flv");
mc3.onRelease = function(){
my_ns.play("
http://www.michelpower.ch/_flv/219.flv");
mc4.onRelease = function(){
my_ns.play("
http://www.michelpower.ch/_flv/245.flv");
}

Similar Messages

  • Audio Streaming with NetStream on LCDS or FDS

    Hi. I can't make audio streaming working on FDS neither on
    LCDS. I want to record audio on server.
    When trying to :
    quote:
    new NetStream(this.netConnection);
    i get
    quote:
    01:19:48,140 INFO [STDOUT] [Flex]
    Thread[RTMP-Worker-2,5,jboss]: Closing due to unhandled exception
    in reader thread: java.lang.IndexOutOfBoundsException: Index: 0,
    Size: 0
    at java.util.ArrayList.RangeCheck(Unknown Source)
    at java.util.ArrayList.get(Unknown Source)
    at
    flex.messaging.io.tcchunk.TCCommand.getArg(TCCommand.java:260)
    at
    flex.messaging.endpoints.rtmp.AbstractRTMPServer.dispatchMessage(AbstractRTMPServer.java: 821)
    at
    flex.messaging.endpoints.rtmp.NIORTMPConnection$RTMPReader.run(NIORTMPConnection.java:424 )
    at
    edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPo olExecutor.java:665)
    at
    edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolEx ecutor.java:690)
    at java.lang.Thread.run(Unknown Source)
    The same code works fine on RED5.
    What's wrong?
    RTMP channel definition is :
    quote:
    <channel-definition id="my-rtmp"
    class="mx.messaging.channels.RTMPChannel">
    <endpoint uri="rtmp://{server.name}:2040"
    class="flex.messaging.endpoints.RTMPEndpoint"/>
    <properties>
    <idle-timeout-minutes>20</idle-timeout-minutes>
    <client-to-server-maxbps>100K</client-to-server-maxbps>
    <server-to-client-maxbps>100K</server-to-client-maxbps>
    </properties>
    </channel-definition>

    There are seeral apps that play music over wifi or 3G
    Pandora, I(heart)music, Bing100, all free,

  • Sending metaData with netStream.send is not working

    I'm trying to send metaData from client to FMS server when recording Webcam video and have implemented sending of metaData as stated on Adobe's help page at: http://help.adobe.com/en_US/FlashMediaServer/3.5_Deving/WS5b3ccc516d4fbf351e63e3d11a0773d5 6e-7ff6.html
    However when I play the recorded video  from FMS, my custom metaData properties trace "undefined". I can trace  default metaData properties such as duration or videocodecid  successfully, but not my custom properties such customProp, width or height. Here is part of my code that is related to the issue:
    private function  ncNetStatus(event:NetStatusEvent):void {              
         if  (event.info.code == "NetConnection.Connect.Success") {   
              ns = new NetStream(nc); 
             ns.client = this; 
              ns.publish(webcam_test, "record");   
    private function netStatus(event:NetStatusEvent):void {  
         if  (event.info.code == "NetStream.Publish.Start") {  
              sendMetadata();     
    private function sendMetadata():void {
          trace("sendMetaData() called...");
         myMetadata = new  Object(); 
         myMetadata.customProp = "Welcome to the Live feed of  YOUR LIFE"; 
         ns.send("@setDataFrame", "onMetaData",  myMetadata);
    public function  onMetaData(info:Object):void { 
         trace('videocodecid:  ',info.videocodecid); //returns 2
         trace('customProp:  ',info.customProp); // returns undefined
    And here is my trace result:  
    NetConnection.Connect.Success
    NetStream.Publish.Start
    sendMetaData() called...
    NetStream.Record.Start
    Stopped webcam recording... 
    NetStream.Record.Stop
    NetStream.Unpublish.Success
    NetStream.Play.Reset
    NetStream.Play.Start
    videocodecid: 2 
    customProp: undefined 

    Here is the working code which I have tried at my end. You can see the highlighted line in which the second parameter is 0 which means it will play only recorded stream:
    package {
        import flash.display.MovieClip;
        import flash.net.NetConnection;
        import flash.events.NetStatusEvent;
        import flash.events.MouseEvent;
        import flash.events.AsyncErrorEvent;
        import flash.net.NetStream;
        import flash.media.Video;
        import flash.media.Camera;
        import flash.media.Microphone;
        import fl.controls.Button;
        import fl.controls.Label;
        import fl.controls.TextArea;
        public class Metadata extends MovieClip {
            private var nc:NetConnection;
            private var ns:NetStream;
            private var nsPlayer:NetStream;
            private var vid:Video;
            private var vidPlayer:Video;
            private var cam:Camera;
            private var mic:Microphone;
            private var clearBtn:Button;
            private var startPlaybackBtn:Button;
            private var outgoingLbl:Label;
            private var incomingLbl:Label;
            private var myMetadata:Object;
            private var outputWindow:TextArea;
            public function Metadata(){
                setupUI();
                nc = new NetConnection();
                nc.addEventListener(NetStatusEvent.NET_STATUS, onNetStatus);
                nc.connect("rtmp://localhost/publishlive");
             *  Clear the MetaData associated with the stream
            private function clearHandler(event:MouseEvent):void {
                if (ns){
                    trace("Clearing MetaData");
                    ns.send("@clearDataFrame", "onMetaData"); 
            private function startHandler(event:MouseEvent):void { 
                displayPlaybackVideo(); 
            private function onNetStatus(event:NetStatusEvent):void { 
                trace(event.target + ": " + event.info.code); 
                switch (event.info.code) 
                    case "NetConnection.Connect.Success": 
                        publishCamera(); 
                        displayPublishingVideo(); 
                        break; 
                    case "NetStream.Publish.Start": 
                        sendMetadata(); 
                        break; 
            private function asyncErrorHandler(event:AsyncErrorEvent):void { 
                trace(event.text); 
            private function sendMetadata():void { 
                trace("sendMetaData() called") 
                myMetadata = new Object(); 
                myMetadata.customProp = "Welcome to the Live feed of YOUR LIFE, already in progress."; 
                ns.send("@setDataFrame", "onMetaData", myMetadata); 
            private function publishCamera():void { 
                cam = Camera.getCamera(); 
                mic = Microphone.getMicrophone(); 
                ns = new NetStream(nc); 
                ns.client = this; 
                ns.addEventListener(NetStatusEvent.NET_STATUS, onNetStatus); 
                ns.addEventListener(AsyncErrorEvent.ASYNC_ERROR, asyncErrorHandler); 
                ns.attachCamera(cam); 
                ns.attachAudio(mic); 
                ns.publish("myCamera", "record"); 
            private function displayPublishingVideo():void { 
                vid = new Video(cam.width, cam.height); 
                vid.x = 10; 
                vid.y = 10; 
                vid.attachCamera(cam); 
                addChild(vid);  
            private function displayPlaybackVideo():void { 
                nsPlayer = new NetStream(nc); 
                nsPlayer.client = this; 
                nsPlayer.addEventListener(NetStatusEvent.NET_STATUS, onNetStatus); 
                nsPlayer.addEventListener(AsyncErrorEvent.ASYNC_ERROR, asyncErrorHandler); 
                nsPlayer.play("myCamera",0); 
                vidPlayer = new Video(cam.width, cam.height); 
                vidPlayer.x = cam.width + 100; 
                vidPlayer.y = 10; 
                vidPlayer.attachNetStream(nsPlayer); 
                addChild(vidPlayer); 
            private function setupUI():void { 
                outputWindow = new TextArea(); 
                outputWindow.move(250, 175); 
                outputWindow.width = 200; 
                outputWindow.height = 50; 
                outgoingLbl = new Label(); 
                incomingLbl = new Label(); 
                outgoingLbl.width = 150; 
                incomingLbl.width = 150; 
                outgoingLbl.text = "Publishing Stream"; 
                incomingLbl.text = "Playback Stream"; 
                outgoingLbl.move(30, 150); 
                incomingLbl.move(300, 150); 
                startPlaybackBtn = new Button(); 
                startPlaybackBtn.width = 150; 
                startPlaybackBtn.move(250, 345) 
                startPlaybackBtn.label = "View Live Event"; 
                startPlaybackBtn.addEventListener(MouseEvent.CLICK, startHandler); 
                clearBtn = new Button(); 
                clearBtn.width = 100; 
                clearBtn.move(135,345); 
                clearBtn.label = "Clear Metadata"; 
                clearBtn.addEventListener(MouseEvent.CLICK, clearHandler); 
                addChild(clearBtn); 
                addChild(outgoingLbl); 
                addChild(incomingLbl); 
                addChild(startPlaybackBtn); 
                addChild(outputWindow); 
            public function onMetaData(info:Object):void { 
                outputWindow.appendText("Custom Prop : " + info.customProp);  
                trace("Custom Prop : " + info.customProp);
                trace("Videocodecid : " + info.videocodecid);
                trace("Creation Date : " + info.creationdate);
    Hope this solves your query and if still you have the issue then please tell the version of FMS and Player you are using.
    Regards,
    Amit

  • Custom NetStream using netConnection in LCCS

    I want to send custom NetStream using LCCS service. I dont want to use LCCS components and Pods. I need netconnection for that. How can we do that.
    Also is it possible to use methods like netconnection.call() to pass messages between LCCS connected users?

    Hi Ysong,
    Please try posting your question to the ActionScript 3 forum: http://forums.adobe.com/community/flash/flash_actionscript3. It's the most appropriate forum for your question. You might also try the forums for Flash, Flash Builder, or Flex, depending on the authoring environment you are using to write your ActionScript code.
    Thanks,
    KALTechWriter

  • Camera resolution for NetStream. Please help.

    I'm developing a videochat app that should work on different network speeds. The idea was to switch to lower resolution if by some criteria delay becomes too noticable (say, delay is 2 seconds, or dropped videoMessage packet ratio is more than 20%). Or if on the other hand user has fast network connection then app should increase the resolution and thus providing better video image quality.
    The problem: I can  not find anyone done this before, thus I am comming to the conclusions that I'm doing something wrong here.
    Is it possible that RTMFP is lowering the video image quality automatically when ever it thinks that delay is too huge? If this is the case, than should I set the video resolution for camera to 1600x1200 and feed it to the netstream and allow NetStream to take care of everything else, or there is some other magic numbers for resolution that I should set?
    If this is not the case and RTMFP is not taking care of lowering/increasing video quality automatically then how can I measure the quality. I know there are NetStream.info and NetStream.liveDelay, nether of which for RTMFP connections provides valuable information to detect delay. For me liveDelay is going up to 20 and then fluctuacting there, but for info videoLossRate property is always zero, even if I set everything to max and lag is very noticable.
    So how is RTMFP intended to use?

    I agree.  In fact, make it your workflow when sending this type of file to an online vendor.  The importance of the 350ppi requirement is for any of your transparency or raster effects to match their RIP's output line screen.  It's becoming an industry wide mistake to refer to file resolution in terms of dpi.  Do yourself a favor and get familiarized with the terms dpi and ppi, what they really are and what importance they play in output.  The advantage to PDF is the fact that you can establish the output resolution, color settings, and font embedding that will trim the variables that could go wrong on the vendor's end.  Your job is to make sure you apply the correct resolution, color, and font settings in the original file and again when you generate the final PDF.  If you are unsure, find a local print provider that knows what they are doing and can teach you how to setup a file properly.  You may have to intern somewhere, take a good course somewhere, and/or buy a really good and accurate book on prepress file standards.  Try your local book store or library.  Use better keywords when searching on the web, take a look at some of adobe.com's resources ( i.e., A Designer's Guide to PDF or similar ).  Now, you will need to learn more about Illustrator Color Settings and the Raster Effects Resolution Settings.  These are two areas you should spend a little time getting to know how different settings will affect output. In the case of your business card, set the raster resolution to "High".  That will cover you on their 350ppi requirement.  Do not get discouraged by seeing their proof on screen.  It's just a preview.  Do not get too comfortable with what you see on your screen unless your entire workstation is calibrated and even then you have to be cautious. 

  • How can I append multiple parts to NetStream with appendBytes

    Hi,
    I hope  someone can help me.
    Problem:
    I load a flv file with the FileReference class. After that I append a part of the ByteArray to  the NetStream with appendBytes.
    Later I want a next part append to the NetStream. It doesn't work.
    Is that possible?
    Code:
              public function init():void
                    myFileRef = new FileReference();
                    myFileRef.addEventListener(Event.SELECT, selectFile);
                    myFileRef.addEventListener(Event.COMPLETE, playFile);
                    myOpenButton.addEventListener(MouseEvent.CLICK,browserForFile);                        
                private function browserForFile(e:MouseEvent):void
                    myFileRef.browse([new FileFilter("Flash-Videos (*.flv)", "*.flv;")]);
                private function selectFile(e:Event):void
                    myFileRef.load();
                private function playFile(e:Event):void
                    byteArr = myFileRef.data;
                    var bytes:ByteArray = new ByteArray();
                    byteArr.readBytes(bytes, 0, 3031964);
                    _netConnection = new NetConnection();
                    _netConnection.connect(null);            
                    ns = new NetStream(_netConnection);
                    ns.addEventListener(NetStatusEvent.NET_STATUS, netStreamStatusHandler);
                    ns.client = new Object();
                    display.attachNetStream(ns);
                    ns.play(null);
                    ns.appendBytes(bytes);
                    videoDisplay.addChild(display);
                private function loadNext():void
                    var bytes:ByteArray = new ByteArray();
                    byteArr.readBytes(bytes, 3031964, byteArr.bytesAvailable);
                    ns.appendBytes(bytes);
    friendly
    Daniel

    Enable the menu bar with Ctrl+B. Then use File > Add Folder to Library.
    tt2

  • How can you toggle H264 on and off in a NetStream?

    Hello.  Let's say you have the following code that switches your stream to use H264:
    var h264Settings:H264VideoStreamSettings = new H264VideoStreamSettings();
    h264Settings.setProfileLevel(H264Profile.BASELINE, H264Level.LEVEL_2);
    stream.videoStreamSettings = h264Settings;
    Let's say you want the user to be able to keep clicking a button that will switch the stream back and forth between this and its default, non-H264 settings.  How can you do this?  I don't want to recreate the NetStream or have multiple NetStreams or anything else really sloppy like that.  I tried looking up the videoStreamSettings property in the main docoumentation for a NetStream (http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/NetStream.htm l), but they don't even formally list it for some reason.  Thanks!    

    There is no way, other than your current approach, to do this.
    You can submit feedback to Apple: http://www.apple.com/feedback/iphone.html.

  • How to use the LAN NetStream for peer transmission, please help, write a sample code

    How to use the LAN NetStream for peer transmission, please help, write a sample code

    No reply, I reply, Oh

  • NetConnection and NetStream in Director: Is it impossible to have more than one incoming Stream?

    Hi there,
    I'm working on a Director 11.5 video chat for 3 people. You shall see your webcam video as a little and the two you are connected with as a big video panel. So good so far, I managed to show my own webcam video without streaming it and managed to see one of the others as an incoming stream.
    The problem is: as soon as there's a second script initiating a second InStream (no matter how I name it), only the one with the lower sprite number shows it's stream. When I disable the script for this lower sprite, then the second one is playing, so it can't be due to an incorrect script.
    I already emilinated two misstakes which made it not working at all at the beginning:
    First I tried to use the NetConnection object (for sending my own video stream, works fine) also for creating an input stream. That didn't work. It's a different scene where I set up and play the inStreams (I made the NetConnection object global). So now I set up a new NetConnection for each stream: one outStream and two inStreams.
    First I also used only one swf member and made several sprites of it. This didn'Ät work at all, also using the same behavior for the two other-perople-players. So i copied ad pasted the swf and also the behavior. I also renamed every variable in the second behavior with a "2" at the end, just to be sure.
    Then it worked at least - but still only for one inStream.
    The architecure of my Director film is the following:
    I've got two scenes. First scene is an input field to type your name and a "connect" button. Behind this button there's a behavior setting a connection to the server (by using a swf sprite which isn't visible yet) and sending my webcam video and name to the server. This part works fine.
    (Picture shows scene 2)
    Second scene consists of three swf sprites - one is to show my own webcam video directly from PC. This one already existed in the first scene, for I have to use a swf for setting up a NetConnection. The second and third swf sprites are connected to a behavior script which sets up a new connection (in exitFrame, with a bool variable "firsttime" to make sure it only happens once).
    I also have two drop down field each below a partner chat swf. Here I show all people who are logged in at the server, it automatically updates. The one you chose in the drop down is the video you will see in the swf sprite above. Thid works fine (if it works with the inStream).
    The script for playing the own webcam video is placed at the first frame of the second scene and only refers to the swf for my own video (which already occurs in scene 1). Well, that's all I think. I'll post the code for the two partner player swf here. Please have a look at it to find a misstake - or maybe again it's some strange Director behavior (like two sprites of one member didn't work) which I cannot think of...
    Code for the behavior script of the partner swf for partner 1. The script for partner 2 is exactly the same, but every variable has a "2" at it's end.
    global firsttime1
    global gUserList
    property gNetConn
    property InStream
    on exitFrame  me
      if (firsttime1) then  
        pSprite = sprite(me.spritenum)  
        gNetConn = pSprite.newObject("NetConnection")  
        gNetConn.connect("rtmp://212.122.56.2/flashcam")  
        InStream = pSprite.newObject("NetStream", gNetConn)    put "InStream " & InStream
        InStream.play(gUserList[1])  
        pVideoClip = pSprite.getVariable("VideoClip",FALSE)
        put "pVideoClip " & pVideoClip
        pVideoClip.attachVideo(InStream)  
        firsttime1 = false
      end if
    end exitFrame
    on updateInStream aArg1, aArg2
    -- that method is called by the drpdown script when some change occured
      put "neuer Partner 1: " & aArg2
      partner = aArg2
      InStream.play(partner) 
    end updateInStream
    on endsprite me
      if not(voidP(InStream)) then
        InStream.close()
      end if  
    end endsprite
    I'd appreciate every idea or help! Thank you!
    Jana

    No you can only have one - so you'll need to manually merge

  • How can you use one NetStream to publish video and audio from another NetStream in AS3?

    Let's say one of your client programs in AS3 is able to receive live video and audio from a NetStream and play it on the screen.  How could you make it also take that video/audio stream that it's receiving, copy it over into another NetStream, and publish it elsewhere?  I need to know how to do with this regardless of whether RTMP, RTMFP, or some mixture is involved.  The reason why the stream needs to be relayed this way is a real long story, but it's necessary in this particular case. Thanks!

    RTMP is TCP, which has higher overhead and latency because it guarantees packets are delivered (handshaking, causing latency and overhead). It also doesn't allow you to share connections directly between clients forcing the server to do all the work.
    RTMFP uses UDP, which is a choice protocol for streaming video because it's the opposite. It's lossy which decreases latency and overhead from no retransmissions and most importantly (in some applications) allows you to connect directly from one Flash Player to another Flash Player (p2p) so the server overhead is dramatically reduced. The server is only required to negotiate the initial connection and then it's up to the clients to continue to facilitate that.
    How you code your one to many or many to many relationship broadcast network will be based entirely on which of those you choose.
    URLStream is very common to use in p2p. Here's an older Adobe article on p2p and an alternate quick old video tutorial (FP10) as a quick simple example of p2p over RTMFP you can view the source of.

  • How can you determine the absolute path to a dynamically created NetStream object?

    We are trying to implement video captioning with a freeware component, ccforflash. This requires us to provide an absolute or relative path  to our NetStream object. How can we determine this path in Flash CS5 AS3?
    From the CCforFlashCS5 documentation:
    "2. Object name and path
    Type the name and path.  This is the instance name of the object with which CCforFlashAS3 will synchronize. It must be spelled correctly, since CCforFlashAS3 will query the object with this name for timing information in order to synchronize the captions. The path must also be included; either relative to the CCforFlashAS3 component (i.e. this.parent) or the absolute path from the main level of the movie (root)."

    It would be easier if the NetStream object was created on an easily identifiable place on the timeline. This player has an MVC architecture. The NetStream object is created in a subclass to Model class, which is itself a subclass of the EventDispatcher object. The View class access it via an interface.
    As you can guess, it's not that straightforward to determine where the NetStream object is located on the timeline. This is compounded by the fact that the NetStream object does not have a name property.
    I've tried methods like these, but they only work for the DisplayObject class:
    public static function displayObjectPath( avDisplayObject : DisplayObject ) :String
    var lvPath:String = "";
    do
    if( avDisplayObject.name ) {
    // var obj_name:String = (avDisplayObject.name == 'root1') ? 'root' : avDisplayObject.name;
    if (avDisplayObject.name != 'root1') {
    lvPath = avDisplayObject.name
       + ( lvPath == "" ? "" : "." + lvPath );
    } else {
    trace("displayObjectPath() NO NAME avDisplayObject="+avDisplayObject);
    } while( avDisplayObject = avDisplayObject.parent );
    return lvPath;
    } // displayObjectPath
    private  function showChildren(d:DisplayObjectContainer):void {
    trace("showChildren()");
    if (d.numChildren>0) {
    for (var c:Number = 0; c < d.numChildren; c++) {
    trace("showChildren c=",c," name=",d.getChildAt(c).name);

  • NetStream.client can't be a class instance?

    I tried this:
    netStream = new NetStream(netConnection, NetStream.DIRECT_CONNECTIONS);
    netStream.addEventListener(NetStatusEvent.NET_STATUS, streamStatus);
    netStream.publish("gamestate");
    netStream.client = this;
    public function onPeerConnect(ns:NetStream):Boolean {
         trace("onPeerConnect", ns.farID);
    Inside a class called ClientStream. However I found that onPeerConnect was not being called. I changed .client to this:
    netStream.client = {
         onPeerConnect:function(ns:NetStream):Boolean {
              trace("onPeerConnect", ns.farID);
    And it works. Does this mean that you have to use a generic object like that for the client? Is there something I'm not understanding in the first example?

    I can confirm that you need to use a generic object for this callback.
    It's not a bug as much as it's an oddity.

  • NetStream.send not working in Flash Player 11.2 Beta with Cirrus, Please confirm if it is a bug

    Title
    NetStream.send not working in Flash Player 11.2 Beta with Cirrus, Please confirm if it is a bug or feature
    Description
    Problem Description:
    NetStream.send can not send data to peerstreams when using with cirrus. Conflict with documents.
    Sorry for tag the build as 11.0.1.3 while the bug is actually on 11.2 beta since the bug report system didn't have 11.2 beta yet.
    If you are not responsible for 11.2 beta bug fix, please help a hand to handle this bug to 11.2 team.
    This bug is "killing" to your application, so we really appreciate your help. Thanks.
    ==Publisher==
    nc.connect("rtmfp://");
    var ns:NetStream = new NetStream(nc, NetStream.DIRECT_CONNECTIONS);
    ns.publish("sendtest");
    ...//after connection success.
    ns.send("clientfunction", "ok"); // this line cannot reach subscribers. even if subscribers have client object correctly.
    ==Subscriber==
    nc.connect("rtmfp://");
    var ns:NetStream = new NetStream(nc, cirrusid);
    var client:Object = new Object();
    client.clientfunction = clientfunction; // target function
    ns.client = client;
    ns.play("sendtest");
    Steps to Reproduce:
    1. compile the code in the attachment to SendTestExample.swf (not be able to paste it here)
    2. run it under flash player 11.2.202.19 beta
    3. run it under flash player 11
    Actual Result:
    HeartBeat is:
    Start HeartBeat:
    send hello
    send hello
    send hello
    which means NetStream.send was not able to call "clientfunction" as expected.
    Expected Result:
    Start HeartBeat:
    send hello
    in client function: hello
    send hello
    in client function: hello
    send hello
    in client function: hello
    which can call into the clientfunction as flash player 11 did.
    Any Workarounds:
    I can not find it out since it's an api level bug. But this can be very important for lots of applications which rely on send to do rpc.
    Test Configuration
    IE8, Firefox under Windows 7
    Also have problem under Windows XP (but not well tested on this platform)
    App Language(s)
    ALL
    OS Language(s)
    ALL
    Platform(s)
    Windows 7
    Browser(s)
    Internet Explorer 8.0
    ==Attachment==
    package {
        import flash.display.Sprite;
        import flash.events.Event;
        import flash.events.NetStatusEvent;
        import flash.events.TimerEvent;
        import flash.media.Video;
        import flash.net.NetConnection;
        import flash.net.NetStream;
        import flash.text.TextField;
        import flash.utils.Timer;
        import flash.utils.setTimeout;
        public class SendTestExample extends Sprite
            public static var statusArea:TextField;
            var ncServer:NetConnection = new NetConnection();
            var nsServer:NetStream;
            var ncClient:NetConnection = new NetConnection();
            var nsClient:NetStream;
            var timer:Timer = new Timer(1000);
            public function SendTestExample() {
                ncServer.addEventListener("netStatus", onNCStatusServer);
                ncServer.connect("rtmfp://p2p.rtmfp.net","99f72ccbed0948d7589dc38a-3ce1b2616680");
                statusArea = new TextField();
                status("status");
                statusArea.x = 0;
                statusArea.y = 0;
                statusArea.border = true;
                statusArea.width = 200;
                statusArea.height = 350;
                addChild(statusArea);
            function onNCStatusServer(event:NetStatusEvent):void {
                status("Step 1:");
                status("server: " + event.info.code);
                status("id: " + ncServer.nearID);
                switch (event.info.code) {
                    case "NetConnection.Connect.Success":
                        nsServer = new NetStream(ncServer, NetStream.DIRECT_CONNECTIONS);
                        nsServer.addEventListener(NetStatusEvent.NET_STATUS, onNSStatusServer);
                        nsServer.publish("sendtest");
                        ncServer.removeEventListener(NetStatusEvent.NET_STATUS, onNCStatusServer);
                        ncClient.connect("rtmfp://p2p.rtmfp.net","99f72ccbed0948d7589dc38a-3ce1b2616680");
                        ncClient.addEventListener("netStatus", onNCStatusClient);
                    case "NetStream.Publish.BadName":
                        //status("Please check the name of the publishing stream" );
                        break;
            function onNCStatusClient(event:NetStatusEvent):void {
                status("Step 2:");
                status("client: " + event.info.code);
                status("id: " + ncClient.nearID);
                switch (event.info.code) {
                    case "NetConnection.Connect.Success":
                        nsClient = new NetStream(ncClient, ncServer.nearID);
                        var c:Object = new Object();
                        c["clientfunction"] = clientfunction;
                        nsClient.client = c;
                        nsClient.play("sendtest");
                        ncClient.removeEventListener(NetStatusEvent.NET_STATUS, onNCStatusClient);
                        //setTimeout(sendHello, 5000);
                    case "NetStream.Publish.BadName":
                        //status("Please check the name of the publishing stream" );
                        break;
            protected function onNSStatusServer(event:NetStatusEvent):void {
                status("nsserver: " + event.info.code);
                if (event.info.code == "NetStream.Play.Start") {
                    status("Start HeartBeat:");
                    this.timer.addEventListener(TimerEvent.TIMER, function (e:Event):void {
                        sendHello();
                    this.timer.start();
            protected function sendHello():void {
                status("send hello");
                nsServer.send("clientfunction", "hello");
            protected function status(msg:String):void
                statusArea.appendText(msg + "\n");
                trace("ScriptDebug: " + msg);
            protected function clientfunction(event:Object):void {
                status("in client function: " + event);

    Thanks for reporting. I can reproduce the bug in house. We will investigate.
    Calise

  • What are the default values for the NetStream.multicast***** properties

    I read the api document about NetStream.multicast**** properties, but found no default values were given. Will the default values be changed when FP10.1 release?? Or, the values are always changing at runtime?
    I have a web-tv application, it broadcast some live videos created by my friends, I think that the latency and lag-time can be bigger in my app, I want to know the recommended default values for the multicast*** properties.
    I think the multicastWindowDuration and liveDelay are the keys. And I am confused between NetStreammulticastWindowDuration and NetStream.bufferTime..they like the same...
    Sorry for my poor english, Thanks.

    the publisher can set the multicast properties you listed to be the defaults for all of the subscribers of the stream.  in addition, the publisher can select whether or not "push" mode is used by changing NetStream.multicastPushNeighborLimit.  setting the limit to 0 disables push, setting it to non-zero enables push in the mesh, but only changes the actual push neighbor limit for the publisher.  if push is enabled for the stream, each peer will use push mode, but will start out with the global default limit (which is currently 4).  this is for safety.  we recommend you always leave push enabled.
    each peer (including the publisher) can change the multicast stream parameters dynamically.  changes are local to that peer.
    for the publisher to set the initial parameters for the stream that all peers will inherit as the default, the parameters must be changed on a new NetStream *before* NetStream.publish() is called.  example:
       var ns:NetStream = new NetStream(netConnection, groupSpecification);
       ns.multicastWindowDuration = 10; // change default for everybody
       ns.publish("mystream");
       ns.multicastWindowDuration = 15; // change window duration just for publisher, everybody else will start with 10 for this stream
    each subscriber can override the multicast stream properties locally, but the overrides must be set on the NetStream *after* receiving a NetStream.MulticastStream.Reset NetStatusEvent.NET_STATUS event in order for the override to stick.  overrides must be reapplied each time the NetStream.MulticastStream.Reset event is received.

  • Local video file (.mp4) file not play in MAC OS using netstream (NetStream.Play.StreamNotFound)

    I have developed adobe air application using adobe flash builder 4.6 for Windows and Mac OS. Application allow user to download movie (.mp4) file in his system at specific location for play  without live streaming. File downloading correctly in both OS and also file playing from download location in Window application correctly. but when start playing file Mac OS application not start playing.
    When start playing in mac OS, NetStatusEvent.Net_Status event return "NetStream.Play.StreamNotFound" event info code. I have found one solution for mac OS is use colon notation instead of slash notation. I have tried it but it also not working.
    Code:
    _nc = new NetConnection();
    _nc.addEventListener(NetStatusEvent.Net_Status, connectionHandler);
    _nc.connect(null);
    private function connectionHandler(event:NetStatusEvent):void
         trace("Connection to server: " + event.info.code);
         /// Get "NetStream.Play.StreamNotFound" code in mac OS.    
    slash notation path: /Users/mayur/Downloads/myvideo.mp4
    Colon notation path: I have tried following colon notation path
    1) :Users:mayur:Downloads:myvideo.mp4
    2) Users:mayur:Downloads:myvideo.mp4
    3) Macintosh HD:Users:mayur:Downloads:myvideo.mp4 (Macintosh HD - Drive name)
    Please help me to solve this issue.

    Finally I found a solution...
    The problem is that AIR on Android stores the application data in the protected directory /data/... which is not accessible by StageWebView (or any browser app).
    So you have to copy the video file you want to play to a temporary pubic directory on the sd-card for example and use this in StageWebView.
    You also have to create a temporary html-page with the video-tag and load this page in StageWebView (not the string) because external resources are only loaded in StageWebView when using an URL.
    On iOS the application storage directory is readable for StageWebView so you don't have to do this step.
    Hope this helps

  • Webcam runs in background even after the netstream is closed

    Hi All,
    We are having an application for capturing live video from presenter and broadcasting to a viewer. We have coded this using flex as3 and the server is Adobe Media Server. When a broadcasting happens and suddenly the presenter stops the video, the video display becomes blank as i have given the code and also i have closed the netstream by giving
    videoDisplay.visible = false;
    videoDisplay.attachCamera(null);
    _ns.close();
    _video.attachCamera(null);
    _ns.attachCamera(null);
    _ns.attachAudio(null);
    _video = null;
    But still the webcam runs in background and capturing the video. I can see the increase in size of video in the server. Is there any possible way to stop webcam from capturing the video when it si set to off?
    Thanks in advance
    Arasakumar.

    Possibly the Camera object is still attached to the NetStream.
    Add this to a NetStream.Status.Closed event handler:
    netSream.attachCamera(null);
    I hope this helps.

Maybe you are looking for

  • Late 2009 iMac (Intel) memory upgrade.

    My late 2009 iMac (Intel) has 2 2GB memory chips (4 GB total).  Can I add 2 4GB chips to the two empty memory slots (12 GB total),or do I have to pull the 2 GB chips and use 4 GB chips in all 4 slots (16 GB total)?

  • New GL: Balance carryforward w/line items

    Hi guys i am having issue with new GL: Balance carry forward w/line items. totals are working fine but i am having issue with line items i did applied with note SAP Note 1153947. some how the   balance carry forward  is not  writing    line items to

  • QuickTime: can't move to a specific point when playing .WMA audio files

    I use a lot of .WMA audio files recorded on my Olympus Digital Voice recorder. Since the latest update of QuickTime I cannot move to a specific point in a file. When I click and drag on the diamond cursor it won't move. The only way to move through t

  • SMTP Mail Service is not functioning

    Using Breeze 5.1 with service pack 2, I cannot send e-mail from the server. I know the SMTP server is working since it is hosting other applications. Is there anyway of troubleshooting SMTP e-mail issues?

  • More than one video effect for same clip?

    Is it possible to apply more than one video effect to the same clip? I know this could be done in previous versions of iMovie, but I can't seem to figure out how to accomplish this task in '09!! Thanks!