Flash FLV Player, was ist da falsch?

skm

Grünschnabel
Hallo zusammen.

Ich hab mir mit Hilfe eines Tutorials ein FLV Player gebaut, dieser funktioniert auch einwandfrei. Ich als Leie, verstehe nicht viel davon, denn ich arbeite erst seit knapp 1 Woche mit Flash CS3 Prof. !! Deshalb verstehe ich noch nicht allzuviel...

Ich wollte nun über die FlashVars den Dateinamen des Flash-swf-videos übergeben.
Hier mal der HTML Code, die swf-Datei wird dargestellt, aber kein video wird abgespielt... :(
HTML:
<html>
<head>
<title>
</title>
</head>
<body>
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" width="410" height="330" id="myflvplayer" align="middle">
	<param name="allowScriptAccess" value="sameDomain" />
	<param name="allowFullScreen" value="true" />
	<param name="movie" value="myflvplayer.swf" />
	<param name="quality" value="low" />
	<param name="bgcolor" value="#ffffff" />
	<param name="flashvars" value="vidname=Video001.flv" />
	<embed src="myflvplayer.swf" quality="high" flashvars="vidname=Video001.flv" width="410" height="330" name="myvideo" align="middle" allowScriptAccess="sameDomain" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>
</body>
</html>

Nun hab ich mittels den FlashVars den vidnamen definiert und zwar in der fla-Datei so:
Code:
theVideo.attachVideo(loaderInfo.parameters.vidname);

Was kann da nicht stimmen?

Grüsse und besten dank.

Sebastian
 
Hi,

sieht soweit korrekt aus. Was gibt denn
Code:
trace(loaderInfo.parameters.vidname);
aus?

Steht die von Dir gepostete Zeile auch im Gesamtcode an der richtigen Stelle?

Gruß
.
 
Hi.

trace(loaderInfo.parameters.vidname);

gibt in Flash CS3 Prof. undefined zurück... und in der html garnichts... :)

Grüsse,
Sebastian
 
ich poste hier noch den code:
Code:
var nc:NetConnection = new NetConnection();
nc.connect(null);

var ns:NetStream = new NetStream(nc);

theVideo.attachVideo(loaderInfo.parameters.vidname);
trace(loaderInfo.parameters.vidname);


ns.setBufferTime(loaderInfo.parameters.vidname);

ns.onStatus = function(info) {
	trace(info.code);
	if(info.code == "NetStream.Buffer.Full") {
		bufferClip._visible = false;
	}
	if(info.code == "NetStream.Buffer.Empty") {
		bufferClip._visible = true;
	}
	if(info.code == "NetStream.Play.Stop") {
		ns.seek(0);
	}
}

ns.play(nc);

playButton.onRelease = function() {
	ns.pause();
}

rewindButton.onRelease = function() {
	ns.seek(0);
}

var videoInterval = setInterval(videoStatus,100);
var amountLoaded:Number;
var duration:Number;

ns["onMetaData"] = function(obj) {
	duration = obj.duration;
}

function videoStatus() {
	amountLoaded = ns.bytesLoaded / ns.bytesTotal;
	loader.loadbar._width = amountLoaded * 208.9;
	loader.scrub._x = ns.time / duration * 208.9;
}

var scrubInterval;

loader.scrub.onPress = function() {
	clearInterval(videoInterval);
	scrubInterval = setInterval(scrubit,10);
	this.startDrag(false,0,this._y,208,this._y);
}

loader.scrub.onRelease = loader.scrub.onReleaseOutside = function() {
	clearInterval(scrubInterval);
	videoInterval = setInterval(videoStatus,100);
	this.stopDrag();
}

function scrubit() {
	ns.seek(Math.floor((loader.scrub._x/208)*duration));
}

var theMenu:ContextMenu = new ContextMenu();
theMenu.hideBuiltInItems();
_root.menu = theMenu;

var item2:ContextMenuItem = new ContextMenuItem("Video Play / Pause",pauseIt,true);
theMenu.customItems[1] = item2;

var item3:ContextMenuItem = new ContextMenuItem("Video nochmals ansehen",restartIt);
theMenu.customItems[2] = item3;


function pauseIt() {
	ns.pause();
}

function stopIt() {
	ns.seek(0);
	ns.pause();
}

function restartIt() {
	ns.seek(0);
}

_root.createEmptyMovieClip("vSound",_root.getNextHighestDepth());
vSound.attachAudio(loaderInfo.parameters.vidname);

var so:Sound = new Sound(vSound);

so.setVolume(100);

mute.onRollOver = function() {
	if(so.getVolume()== 100) {
		this.gotoAndStop("onOver");
	}
	else {
		this.gotoAndStop("muteOver");
	}
}

mute.onRollOut = function() {
	if(so.getVolume()== 100) {
		this.gotoAndStop("on");
	}
	else {
		this.gotoAndStop("mute");
	}
}

mute.onRelease = function() {
	if(so.getVolume()== 100) {
		so.setVolume(0);
		this.gotoAndStop("muteOver");
	}
	else {
		so.setVolume(100);
		this.gotoAndStop("onOver");
	}
}
 
Hi,

ok mein Tipp mit trace() war Blödsinn, da in der Flash-Vorschau nicht auf die html-Datei zurückgegriffen wird. ;)

1. Dein Code ist komplett in AS2.0 geschrieben, die Syntax "loaderInfo.parameters.name" ist allerdings AS3.0. In AS2.0 greifst Du auf per FlashVars übergebene Parameter einfach über die Hauptzeitleiste zu:
Code:
trace(vidname);

2. Der Pfad zum Video wird nicht in der attachVideo-Methode der Video-Klasse angegeben: Dort muss die NetStream-Referenz angegeben werden:
Code:
theVideo.attachVideo(ns);

3. Den Pfad zum Video gibst Du dann in der play-Methode des NetStream-Objekts an:
Code:
ns.play(vidname);

Gruß
.
 
Ja super... Das hat mal wieder geklappt... Du hasts drauf :)

Noch eine Frage am Rande... Gibt es Probleme, wenn ich AS 2.0 verwende, anstatt AS 3.0?
 
Nö, Du musst nur darauf achten, für was Du den Film veröffentlichst. Du kannst keinen AS3.0-Quellcode für AS2.0 veröffentlichen und umgekehrt. ;)

Gruß
.
 

Neue Beiträge

Zurück