Skip to main content
Inspiring
June 11, 2015
Question

My video disappear when using Videotexture and the phone rotate on Android

  • June 11, 2015
  • 1 reply
  • 1467 views

Hello,

My video disappear when using the new class Videotexture and the phone rotate on Android Nexus 5


package{

  import com.VideoT;

  import flash.display.Sprite;

  import flash.events.Event;

  import flash.display.StageAlign;

  import flash.display.StageScaleMode;

  import starling.core.Starling;

  public class Main extends Sprite

  {

    private var _starling:Starling = null;

    public function Main()

    {

      stage.scaleMode = StageScaleMode.NO_SCALE;

      stage.align = StageAlign.TOP_LEFT;

   

      addEventListener(Event.ADDED_TO_STAGE, init);

    }

    public function init(event:Event):void

    {

      removeEventListener(Event.ADDED_TO_STAGE, init);

    

      _starling = new Starling(VideoT, stage);

      _starling.antiAliasing = 1;

      _starling.showStats = true;

      _starling.start();

    }

  }

}

package com 

  import flash.display3D.Context3D;

  import flash.display3D.Context3DTextureFormat;

  import flash.display3D.textures.VideoTexture;

  import flash.events.VideoTextureEvent;

  import flash.net.NetConnection;

  import flash.net.NetStream;

  import starling.core.Starling;

  import starling.display.Image;

  import starling.display.Sprite;

  import starling.events.Event;

  import starling.textures.ConcreteTexture;

  import flash.events.NetStatusEvent;

  /**

  * Starling root Class

  * @author SzRaPnEL

  */ 

  public class VideoT extends Sprite 

  { 

    private var vidClient:Object;

    private var cTexture:ConcreteTexture;

    private var vTexture:VideoTexture;

    private var nc:NetConnection;

    private var ns:NetStream;

    private var image:Image;

    private var context3D:Context3D;

   

    public function VideoT() 

    { 

      addEventListener(Event.ADDED_TO_STAGE, init);

    } 

   

    private function init(e:Event):void 

    { 

      removeEventListener(Event.ADDED_TO_STAGE, init);

     

      core();

    } 

   

    private function core():void 

    { 

      context3D = Starling.context;

     

      vidClient = new Object();

      vidClient.onMetaData = onMetaData;

     

      nc = new NetConnection();

      nc.connect(null);

     

      ns = new NetStream(nc);

      ns.client = vidClient;

      ns.play("http://www.mysite.com/myvideo.mp4");

      ns.addEventListener(NetStatusEvent.NET_STATUS, netstat);

     

      vTexture = context3D.createVideoTexture();

      vTexture.attachNetStream(ns);

      vTexture.addEventListener(VideoTextureEvent.RENDER_STATE, renderFrame);

     

      cTexture = new ConcreteTexture(vTexture, Context3DTextureFormat.BGRA, 1024, 576, false, true, true);

     

      image = new Image(cTexture);

      addChild(image);

    } 

   

    private function netstat(stats:NetStatusEvent):void { 

      trace(stats.info.code);

    } 

   

    private function renderFrame(e:VideoTextureEvent):void 

    { 

      // 

    } 

   

    private function onMetaData(metadata:Object):void 

    { 

      // 

    } 

  } 

}

Thanks

This topic has been closed for replies.

1 reply

pol2095Author
Inspiring
June 12, 2015
chris.campbell
Community Manager
Community Manager
June 12, 2015

Thank you for the report.  I'll ask the team to investigate asap.

pol2095Author
Inspiring
June 13, 2015

I think lost context can happen on Android rotation.