Archive for the 'Video' Category

Una recita…

Get the Flash Player to see the wordTube Media Player.

AS3 youTube player

This movie requires Flash Player 9

Prima release di un player realizzato con le nuove API per caricare i video di youTube direttamente in flash, non ho trovato molti esempi così ho deciso di farne uno, ma c’è ancora da lavorare…
Tanto per cambiare.

Il sorgente sarà disponibile a giorni, nel frattempo ecco il codice utilizzato


Security.allowInsecureDomain("*");
Security.allowDomain("*");

var player:Object;
var loader:Loader;
var flag:Boolean=false;
var apiPlayer:String="http://www.youtube.com/apiplayer?version=3";
var id:String="u1zgFlCw8Aw";
var _duration:uint;
var rect:Rectangle;
var _time;
var sec;
var rect_volume:Rectangle;

container.mask=maschera;

function playTube() {
	loader = new Loader();
	loader.contentLoaderInfo.addEventListener(Event.INIT, onLoaderInit);
	loader.load(new URLRequest(apiPlayer));
}

function onLoaderInit(e:Event):void {
	container.addChild(loader);
	loader.content.addEventListener("onReady", onPlayerReady);
	loader.content.addEventListener("onError", onPlayerError);
	loader.content.addEventListener("onStateChange", onPlayerStateChange);
	loader.content.addEventListener("onPlaybackQualityChange", onVideoPlaybackQualityChange);
}

function onPlayerReady(e:Event):void {
	player=loader.content;
	startVideo();
}

function startVideo():void {
	player.loadVideoById(id);
	player.setSize(540, 305);
}

function onPauseVideo(e:MouseEvent):void {
	player.pauseVideo();
	removeEventListener(Event.ENTER_FRAME, onProgress);

}

function onPlayVideo(e:MouseEvent):void {
	player.playVideo();
	addEventListener(Event.ENTER_FRAME, onProgress);

}

function onPlayerError(e:Event):void {
	trace("player error:", Object(e).data);
}

function onPlayerStateChange(e:Event):void {
	addEventListener(Event.ENTER_FRAME, onProgress);
	trace("player state:", Object(e).data);
	var _state=Object(e).data;
	switch (_state) {
		case -1 :
			//unstarted;
			break;

		case 0 :
			//ended;
			break;
		case 1 :
			//playing;
			break;
		case 2 :
			//paused;
			break;
		case 3 :
			//buffering;
			break;
		case 5 :
			//cued;
			break;
	}
}

function playClick(e:MouseEvent) {
	if (!flag) {
		play_pause.gotoAndStop(2);
		onPauseVideo(e);
	} else {
		play_pause.gotoAndStop(1);
		onPlayVideo(e);
	}
	flag=! flag;
}

function volume_press(e:MouseEvent) {
	volume_mc.maskera.startDrag(false, rect_volume);
	volume_mc.addEventListener(flash.events.Event.ENTER_FRAME, setVolume);
	stage.addEventListener(flash.events.MouseEvent.MOUSE_UP, volume_release);
}

function volume_release(e:MouseEvent) {
	volume_mc.maskera.stopDrag();
	volume_mc.removeEventListener(Event.ENTER_FRAME, setVolume);
}

function setVolume(e:Event) {
	var vol  = ((volume_mc.maskera.x+volume_mc.maskera.width)*2);
	player.setVolume(vol)
}

function onProgress(e:Event):void {
	_time=player.getCurrentTime();
	_duration=player.getDuration();
	var loaded=player.getVideoBytesLoaded()/player.getVideoBytesTotal();
	loader_mc.bar.width = (loaded * loader_mc.line_bar.width );
	loader_mc.btn.x = (_time / _duration) * loader_mc.line_bar.width;
	var t=getTime(_time);
	var d=getTime(_duration);
	txt.text=t+" / "+d;
}

function setSeek(e:MouseEvent) {
	removeEventListener(Event.ENTER_FRAME, onProgress);
	addEventListener(Event.ENTER_FRAME, seekStatus);
	rect=new Rectangle(0,loader_mc.btn.y,loader_mc.bar.width,0);
	e.target.startDrag(false, rect);
	addEventListener(MouseEvent.MOUSE_UP, seekRelease);
}

function seekRelease(e:MouseEvent) {
	_time=sec;
	removeEventListener(Event.ENTER_FRAME, seekStatus);
	addEventListener(Event.ENTER_FRAME, onProgress);
	loader_mc.btn.stopDrag();
}

function seekStatus(e:Event) {
	sec = Math.floor((loader_mc.btn.x / loader_mc.line_bar.width) * _duration);
	player.seekTo(sec,false);

}

function onVideoPlaybackQualityChange(e:Event):void {
	//
}

function getTime(sec:Number) {
	var min=Math.floor(sec/60);
	sec-=min*60;
	if (sec<10) {
		var sec_str="0"+Math.floor(sec);
	} else {
		sec_str=Math.floor(sec);
	}
	if (min<10) {
		var min_str="0"+min;
	} else {
		min_str=min;
	}
	var time=min_str+":"+sec_str;
	return time;

}

volume_mc.maskera.buttonMode=true;
volume_mc.maskera.addEventListener(MouseEvent.MOUSE_DOWN, volume_press);
volume_mc.maskera.mask=volume_mc.clip;
rect_volume=new Rectangle(- volume_mc.width+2,0,volume_mc.width-2,0);
play_pause.buttonMode=true;
play_pause.addEventListener(MouseEvent.CLICK, playClick);
loader_mc.btn.buttonMode=true;
loader_mc.btn.addEventListener(MouseEvent.MOUSE_DOWN, setSeek);

playTube();

ho notato che cliccando sul logo di youTube, per andare al link relativo al video, il player si blocca, così in attesa di capire perchè succede, c'ho messo sopra un bottone trasparente.

Franco Morone plays Summertime

Get the Flash Player to see the wordTube Media Player.

Attivato ieri il nuovo negozio digitale su Fingerpicking Net, per ora solo 3 video ma sono già pronte le video lezioni di Daniele Bazzani tratte dal libro Fingerstyle Blues Guitar e altro ancora…

Il video sopra è una versione demo molto compressa e cmq direi che il risultato è più che soddisfacente, quelli su Fingerpicking sono in alta risoluzione.

Natale 2009 il video

ecco un mini video girato da Robi, altre foto potete trovarle direttamente su ArteMinore

Get the Flash Player to see the wordTube Media Player.

Easy FLV player AS3

easy flv player, serviva per il sito di un cliente, una cosuccia semplice e minimale, ma funziona…
:)

This movie requires Flash Player 9

Il brano si chiama Road Hog del bravissimo Dario Fornara

Download: player Flv  player Flv (13.9 KiB, 430 hits)

Riecco l’innominato…

e la sua nuova fidanzata

Get the Flash Player to see the wordTube Media Player.

a proposito, Daniele Bazzani e Stefano Barbati saranno in concerto al Six Bars Jail circolo SMS di Serpiolle (FI) il 3 ottobre

una splendica occasione per ascoltare dell’ottima musica e incontrare vecchi amici, uno su tutti il buon wayx… :)

Next Page »