Skip to main content
Inspiring
Jun 11, 2015 7:56 PM UTC
Question

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

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 is closed to new replies. Start a new post to keep the conversation going.

5 replies

pol2095Author
Inspiring
Jun 12, 2015 11:42 AM UTC
chris.campbell
Legend
Jun 12, 2015 11:21 PM UTC

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

Translate
pol2095Author
Inspiring
Jun 13, 2015 2:09 PM UTC

I think lost context can happen on Android rotation.

Translate