My video is black when using Videotexture and Pseudo Streaming on Android
Hello,
My video is black when using the new class Videotexture and Pseudo Streaming 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?start=50");
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
{
//
}
}
}
It work on Windows but not on Android.
Thanks
