Na některé z otázek znám odpověď, na některé ne, ale dost pravděpodobně bych to vysvětlil absolutně nesrozumitelně (nejsem si v ActionScriptu nijak jistý ) tak snad pomůže, když pošlu mé dva zdrojáky na video a audio player - v obou jsou dvě tlačítka start a stop a jeden slider na ovládání zvuku.
Video player (4x akce):
Kód:
// Action script...
// [onClipEvent of sprite 3 in frame 1]
onClipEvent (enterFrame)
{
_root.videoZvuk.setVolume(_root.volume * 2);
}
// [Action in Frame 1]
var netConn = new NetConnection();
netConn.connect(null);
var netStream = new NetStream(netConn);
video.attachVideo(netStream);
netStream.setBufferTime(5);
netStream.play(_root.co);
this.createEmptyMovieClip("videoklip", this.getNextHighestDepth());
videoklip.attachAudio(netStream);
var videoZvuk = new Sound(videoklip);
mySlider.dragger._x = 70;
_root.volume = 50;
videoZvuk.setVolume(_root.volume * 2);
----------------------------------------
// Action script...
// [Action in Frame 1]
this.ratio = 0;
dragger.onPress = function ()
{
this.startDrag(true, 0, 0, line._width, 0);
this.onEnterFrame = function ()
{
ratio = Math.round(this._x * 100 / line._width);
_root.volume = ratio;
_root.pole = ratio;
};
};
dragger.onRelease = dragger.onreleaseOutside = stopDrag;
----------------------------------------
// Action script...
on (release)
{
_root.netStream.close();
_root.netStream.play(_root.co);
}
----------------------------------------
// Action script...
on (release)
{
_root.netStream.pause();
_root.netStream.seek(0);
}
Audio player (4x akce):
Kód:
// Action script...
// [onClipEvent of sprite 3 in frame 1]
onClipEvent (load)
{
mySound = new Sound();
mySound.loadSound(_root.co, true);
dragger._x = 70;
_root.volume = 50;
}
onClipEvent (enterFrame)
{
downloaded = mySound.getBytesLoaded();
total = mySound.getBytesTotal();
if (downloaded != total)
{
}
else
{
complete = 1;
} // end else if
mySound.setVolume(_root.volume * 2);
}
----------------------------------------
// Action script...
// [Action in Frame 1]
this.ratio = 0;
dragger.onPress = function ()
{
this.startDrag(true, 0, 0, line._width, 0);
this.onEnterFrame = function ()
{
ratio = Math.round(this._x * 100 / line._width);
_root.volume = ratio;
_root.pole = ratio;
};
};
dragger.onRelease = dragger.onreleaseOutside = stopDrag;
----------------------------------------
// Action script...
on (release)
{
if (_root.mySlider.complete == 1)
{
_root.mySlider.mySound.stop();
_root.mySlider.mySound.start(0, 99);
} // end if
}
----------------------------------------
// Action script...
on (release)
{
_root.mySlider.mySound.stop();
}
Spouští se z HTML stránky kódem:
Kód:
<script type="text/javascript">
function startplaying() {
document.getElementById("mediaPlayer").Play();
}
</script>
A audio/video se do přehrávačů nahrává tímto parametrem (vloženým do tagu embed)
Kód:
FlashVars="co=media/<?=$r[5];?>"
Ze slideru by se mělo dát odvodit vytvoření "sound off" tlačítka, trvalé nastavení by se dalo vyřešit pomocí cookies http://www.permadi.com/tutorial/flashCookie/, pokud jsi ale myslel, aby prostě bylo "sound off" při každé návštěvě, prostě to nastav podobným stylem jako nastavuje zvuk slider .
Video mimo Flash dát jde, pokud si dobře vzpomínám (už je to delší doba co jsem to programoval ), dávali jsme ho ve formátu .flv. Stejně tak jde dát ven i audio, to jsme tuším dávali ve formátu .mp3.
Kontrolu, jestli je soubor kompletně načten najdeš u každého přehrávače v první akci, zobrazit v té podmínce nějaký text by už neměl být problém ...
Uff... Doufám, že Ti to k něčemu bude a doufám, že to nebylo moc zmateně .