PDA

View Full Version : High quality video in kiosk software authored in FLASH



dragonfly
April 20th, 2006, 06:54 PM
I wanna pick the brains of you Kirupians....

I've used solutions like Zinc (which is wonderful, btw) and their "directshow extention" to load high quality, locally stored .AVIs, without a WMP logo, on top of applications I've made for kiosks. It mostly works well, but is a bit convoluted, scriptwise, and is not supported by MDM or the author of the extension.

I'm not asking anyone to build me an app, I just want to know if there are any cool tools for loading high quality, locally stored....fullscreen...logoless video that I may have over looked.

FLVs are almost there, but we can't budget the type of hardware needed to playback 800x600, high quality flvs (3000kps+). I wish flash player was more than a "web browser" centric tool. There so many cool things you can do with them now (especially loading them UNDER other flash layers), but not in a LARGE fullscreen way.

Thanks!

dragonfly
April 24th, 2006, 02:50 PM
disco?

rkalexander
October 19th, 2006, 01:15 PM
What is Disco? Please post a link.

dragonfly
October 19th, 2006, 01:45 PM
http://en.wikipedia.org/wiki/Disco

grimdeath
October 19th, 2006, 02:00 PM
Could you be a bit more specific as to what exactly do you want to do?

Playback video at 800x600 as a flv at 3000kbps is possible I'm just really confused trying to understand what exactly you want to do, play it in flash or on some other app :h:

DDD
October 19th, 2006, 02:09 PM
Actually I am subscribing because I had this same problem. I needed to loop a high quality presentation for a trade show booth but it soaked up so much memory it amde the animation choppy. I think he is referring to when you go to those kiosks or booths in themall and they have those nice animations on screen.

Search-This.com
October 19th, 2006, 02:40 PM
dragonfly, I do the exact same thing as you for the company I work for.

I am currently using Zinc to play .mov, .mpg, .wmv, .swf ect files from a directory.

part of my code is below. See if you can understand it?




stop();
import mdm.QuickTime;
import mdm.MediaPlayer9;
// play movie and increment movie
function playNextVideo():Void {
if (videoType_array.length == 0) {
trace("error");
}
switch (videoType_array[vidCounter]) {
case "mpg" :
playMPG(File_array[vidCounter]);
break;
case "wmv" :
playMPG(File_array[vidCounter]);
break;
case "mov" :
playMOV(File_array[vidCounter]);
break;
case "swf" :
playSWF(File_array[vidCounter]);
break;
}
vidCounter++;
if (vidCounter == videoType_array.length) {
vidCounter = 0;
}
}
playNextVideo();
/*
// play MediaPlayer files
*/
function playMPG(video:String) {
myMP9 = new mdm.MediaPlayer9("c", "c", "50%", "50%", "none", false, true, APP_PATH+video);
}
// checks to see if mpg video is done
function onWMP9ChangeState(myObject, newState) {
debugger.text += "\n"+newState;
// When playback stops this is executed
if (newState == "1") {
// hide
myMP9.hide();
playNextVideo();
}
}
/*
// play QuickTime files
*/
function playMOV(video:String) {
trace("play mov: "+video);
myQuickTime = new mdm.QuickTime("c", "c", "50%", "50%", APP_PATH+video);
myQuickTime.hideControl();
_global.odlQuickTimePos = myQuickTime.position;
callIntervall();
}
// close QuickTime file
function deleteMOV() {
myQuickTime.close();
// play next video when done with mov
playNextVideo();
}
function callIntervall() {
clearInterval(IntervallInt);
IntervallInt = setInterval(checkMOV, 40);
}
function checkMOV() {
if (_global.odlQuickTimePos != myQuickTime.position) {
_global.odlQuickTimePos = myQuickTime.position;
} else {
clearInterval(IntervallInt);
deleteMOV();
}
}
/*
// play SWF files
*/
function playSWF(video:String) {
// create the swf holder
var swfHolder_mc:MovieClip = swfHolderMain_mc.swfHolderInside_mc.createEmptyMov ieClip("swfHolder_mc", 1);
swf_mcl.loadClip( APP_PATH+video, swfHolder_mc );
}

// Invoked when the actions on the first frame of the loaded clip have been executed
mclListener.onLoadInit = function(target_mc:MovieClip):Void {
// place swf in center of stage
var swfHolder_mc:MovieClip = swfHolderMain_mc.swfHolderInside_mc;

debugger.text += "\n" + swfHolder_mc.Stage.width + " | " + swfHolder_mc.Stage.width + " | " + target_mc;

var newX:Number = (stageWidth_num/2) - (swfHolder_mc._width/2);
var newY:Number = (stageHeight_num/2) - (swfHolder_mc._height/2);

debugger.text += "\n x width: " + newX;
debugger.text += "\n y height: " + newY;

swfHolderMain_mc._x = newX;
swfHolderMain_mc._y = newY;
}
swf_mcl.addListener(mclListener);
// remove swfHolder_mc when done NOTE: this is _global, gets called from swf video
_global.stopSWF = function():Void {
debugger.text = "STOPPED SWF ";
removeMovieClip(swfHolder_mc);
playNextVideo();
}