PDA

Volledige versie bekijken : Flash in flash laden


thebeatman
%Europe/Berlin %776 %2005, 18:38
Beste mensen,

Het is misschien een rare vraag maar ik ben bezig met een flash site te maken. Echter heb ik nu weer een probleem. Ik heb een kant en klare mp3 speler in swf formaat. Nu wil ik deze in mijn site inladen. Dit gaat allemaal wel. Maar als ik mijn site dan exporteer als .swf doet de mp3 speler het niet. Weet iemand hoe dit kan?

Groeten,
Ronald

Mitch
%Europe/Berlin %781 %2005, 18:46
Je zou de mp3 player ook extern kunnen inladen, dat is ook een voordeel voor je laadtijden en stoort bezoeker minder.

Zeg even als je dat wilt want dan is het typisch AS en stuur ik het door.

Je kan beter de fla versie gebruiken om binnen je fla te zetten overigens, dus als je uhm direct in je fla wilt hebben moet je de fla zien te regelen.

thebeatman
%Europe/Berlin %783 %2005, 18:48
Zou je dat scriptje dan door kunnen sturen aub?

Groeten,
Ronald

Mitch
%Europe/Berlin %794 %2005, 19:03
Ik heb het wel eens gebruikt, heb het alleen niet op deze pc staan...
In AS weten ze daar ook veel meer van :D

instance.loadMovie("mp3speler.swf")

Zoiets dacht ik. Maar dan moet je ook een MC maken met een instance naam.

theFlashWizard
%Europe/Berlin %801 %2005, 19:14
instancenamevanlegemc.loadMovie(naambestand.swf)

dan moet je idd ff een lege mc maken met een instancename en die invullen int script.

thebeatman
%Europe/Berlin %910 %2005, 21:50
Dit heb ik gedaan. Alleen krijg ik nu deze foutmelding.

Scene=Scene 1, Layer=tabellen, Frame=1: Line 1: Statement must appear within on/onClipEvent handler
mp3_holder.loadMovie(mp3player_small.swf)

Pimm
%Europe/Berlin %920 %2005, 22:06
Dit heb ik gedaan. Alleen krijg ik nu deze foutmelding.

Scene=Scene 1, Layer=tabellen, Frame=1: Line 1: Statement must appear within on/onClipEvent handler
mp3_holder.loadMovie(mp3player_small.swf)Je moet 'm ook niet op die MC zetten... je moet de AS in het frame zetten waar die holder in zit (en die holder moet dus mp3_holder heten).

thebeatman
%Europe/Berlin %997 %2005, 23:57
Oké dit heb ik gedaan en hij accepteert de code. Maar als ik hem dan open zie ik geen mp3 speler. Weet iemand waar dit aan kan liggen?

theFlashWizard
%Europe/Berlin %999 %2005, 23:59
of hij vind de mc niet, of hij vind de swf niet..
kunne we dus weinig over zeggen zonder fla.. en eigenlijk.. kan je dat sneller zelf ontdekken..

TheDutch
%Europe/Berlin %341 %2005, 08:11
Hou het zoals je het had en zet even this._lockroot = true; in mp3player_small.swf op de maintimeline en frame 1:).

thebeatman
%Europe/Berlin %575 %2005, 13:48
Oke ik ben eruit. Ik heb de .fla weten te bemachtigen en hij doet het nu. Echter er is weer een probleempje opgedoken. Als ik de site open gaat de mp3 speler spelen en als ik de site doorblader blijft hij dat ook doen. Maar als ik dan naar Home klik. (wat bij mij frame 1 is) Dan begint de mp3 speler wel opnieuw te spelen. Weet iemand daar een oplossing voor?

Dopefish
%Europe/Berlin %586 %2005, 14:04
dan moet je dus bij home beginnen, maar voor de rest alle frames 1tje opschuiven en dan heb je dus als het ware 2 homes frame 1 en frame 2.. dan heb je er geen last van

thebeatman
%Europe/Berlin %592 %2005, 14:12
Yes! Hij doet het eindelijk! Allemaal hartelijk bedankt!!!!

Groeten,
Ronald

arbadelli
%Europe/Berlin %682 %2005, 16:23
Zou je misschien ook even het scriptje zoals jij hem nu hebt hier neer kunnen zetten!?

zodat anderen er ook nog wat aan hebben?

Ik snap er namelijk helemaal niets van, en het heeft geen zin als ik het forum afloop en het uiteindelijke script staat er niet, ik heb alles wat hierboven staat gevolgd, maar bij mij werkt het niet!

thebeatman
%Europe/Berlin %016 %2005, 00:24
Ik heb gewoon de .fla weten te bemachtigen en die heb ik gekopieerd en in mn site verwerk. Net zoals de actions. Maar voor de zekerheid heb ik hier het script van de mp3 player:

//--------------------------------------------------------------------------
// location of the playlist if no html parameter is found
// change "playlist.xml" if you want another filename ..
//--------------------------------------------------------------------------
_root.playlist == undefined ? playlist = "mp3player.xml" : playlist=_root.playlist;

//--------------------------------------------------------------------------
// below here it's all code and code ..
//--------------------------------------------------------------------------


// stage variables
Stage.showMenu = false;
Stage.scaleMode = "noScale";
stop();

// player variables
volume = 90;
current_song = 1;
top.equalizer._visible=0;

// playlist loading
data_xml = new XML();
data_xml.ignoreWhite = true;
data_xml.onLoad = loadData;
data_xml.load(playlist);


// parsing all xml data into flash
function loadData(success) {
if (success) {
// showdisplay and playlist toggles
showDisplay = this.firstChild.attributes.showDisplay;
if (showDisplay == "yes") {
top.easeY(toppos);
topup = false;
display_btn._rotation+=180; }
showPlaylist = this.firstChild.attributes.showPlaylist;
if (showPlaylist == "yes") {
bot.easeY(botpos);
botup = false;
list_btn._rotation+=180; }
// getting all titles and filenames
aPath = new Array();
songTitel = new Array();
audioTracks = new Array();
audioTracks.shuffle();
audioTracks = this.firstChild.childNodes;
song_total = audioTracks.length;
for (var i = 0; i<song_total; i++) {
aPath.push(audioTracks[i].attributes.path);
songTitel.push(audioTracks[i].attributes.title);
// buiding playlist buttons
bot.playlist.btn.duplicateMovieClip("btn"+i, i);
bot.playlist["btn"+i]._y = bot.playlist.btn._y+i*int(bot.playlist.btn._height ) +i;
bot.playlist["btn"+i].txt = checkDigits(i+1)+". "+songTitel[i];
bot.playlist["btn"+i].hit.onPress = function() {
listClick(this._parent.getDepth()+1); };
}
//checking autostart mode
autoStart = this.firstChild.attributes.autoStart;
if (autoStart == "yes") {
playSong();
play_btn._visible = 0;
} else if (autoStart == "no") {
play_btn._visible = 1;
pause_btn._visible = 0;
} else if (autoStart == "random") {
current_song = random(song_total)+1;
playSong();
play_btn._visible = 0;
} else {
current_song = int(this.firstChild.attributes.autoStart);
playSong();
play_btn._visible = 0; } }
// done ! all loaded succesfully. purging trash
delete audioTracks;
delete data_xml;}

// list button
function listClick(prm) {
delete pausepos;
current_song = prm;
MySound.stop();
playSong(); }

// list scroller
bot.list_bg.onEnterFrame = function() {
if (hitTest( _root._xmouse, _root._ymouse, true) && this._parent.playlist._height > this._height ) {
ymin = this._y+this._height - this._parent.playlist._height;
ymax = this._y+3;
conv = (this._ymouse -15)*1.3/this._height;
conv > 1 ? conv = 1 : null;
conv < 0 ? conv = 0 : null;
this._parent.playlist.easeY (ymax - conv*(ymax-ymin)); } };
bot.playlist.setMask(bot.list_bg);


// play function
function playSong() {
AudioPath = aPath[current_song-1];
// checking for pause > start from there
if (pausePos>0) {
top.equalizer._visible = 1;
MySound.start(pausePos, 0);
pausePos = 0;
// startup new sound
} else {
MySound = new Sound();
MySound.setVolume(volume);
MySound.loadSound(AudioPath, true);
MySound.onSoundComplete = function() {
top.equalizer._visible = 0;
if (autoStart == "random") {
current_song = random(song_total)+1;
} else {
current_song == song_total ? current_song = 1 : current_song++;
}
playSong(); };
// check loading bar
top.track_load.onEnterFrame = function() {
total = this._parent._parent.MySound.getBytesTotal();
geladen = this._parent._parent.MySound.getBytesLoaded();
if (geladen != total) {
this._parent.load_display = Math.round((geladen*100/total))+"% Loaded";
this._xscale = Math.round((geladen*100/total));
} else {
this._xscale = 100;
top.equalizer._visible = 1;
delete this.onEnterFrame;
delete this._parent.load_display; } }; }
// switch paly/pause buttons
play_btn._visible = 0;
pause_btn._visible = 1; }


// play button
play_btn.onRelease = function() {
playSong(); };


// pause button
pause_btn.onRelease = function() {
this._visible = 0;
play_btn._visible = 1;
pausePos = MySound.position/1000;
MySound.stop();
top.equalizer._visible=0; };


// next button
next_btn.onRelease = function() {
delete pausepos;
current_song == song_total ? current_song = 1: current_song++;
MySound.stop();
playSong(); };


// previous button
prev_btn.onRelease = function() {
delete pausepos;
current_song == 1 ? current_song = song_total: current_song--;
MySound.stop();
playSong(); };


// display toggle button
top.setMask(top_mask);
toppos = top._y;
top._y = int(toppos + top_mask._height - 29);
topup = true;

display_btn.onPress = function() {
if(topup == true) {
top.easeY(toppos);
topup = false; }
else {
top.easeY(int(toppos + top_mask._height -27));
topup = true; }
this._rotation += 180; };

// playlist toggle button

bot.setMask(bot_mask);
botpos = bot._y;
bot._y = botpos - bot.list_bg._height -6;
botup = true;

list_btn.onPress = function() {
if(botup == true) {
bot.easeY(botpos);
botup = false; }
else {
bot.easeY(botpos - bot.list_bg._height -6);
botup = true; }
this._rotation += 180; };

// drag button functionality
drag_btn.onPress = function() {
startDrag(this._parent); };
drag_btn.onRelease = drag_btn.onReleaseOutside=function () {
stopDrag(); };

// copyright button
copy.onPress = function() {
getURL("http://www.jeroenwijering.com/?item=Flash+Mp3+Player","_blank"); }

// updating time display
this.onEnterFrame = function() {
dur = int(MySound.duration/1000);
pos = int(MySound.position/1000);
playTime = {};
playTime.minutes = int((pos)/60);
playTime.seconds = int((pos)%60);
playTime.total = checkDigits(playTime.minutes)+":"+checkDigits(playTime.seconds);
trackTime = {};
trackTime.minutes = int(dur/60);
trackTime.seconds = int(dur%60);
trackTime.total = checkDigits(trackTime.minutes)+":"+checkDigits(trackTime.seconds);
if (top.load_display == undefined) {
top.display = playTime.total+" / "+trackTime.total;
} else {
top.display = top.load_display; }
if (top.trackDrag != true) {
prozent = pos*100/dur;
top.track_play._xscale = prozent; } };

// prefixing a 0 to the time
function checkDigits(toCheck) {
return (toCheck<10) ? toCheck="0"+toCheck : toCheck; }


// track progress slider functions
top.track_back.onPress = function() {
this._parent.trackDrag = true;
this._parent.track_play.onEnterFrame = function() {
perc = (this._parent._xmouse-this._parent.track_back._x)/this._parent.track_back._width;
max = this._parent.track_load._width/this._parent.track_back._width;
perc > max ? perc = max: null;
perc < 0.01 ? perc = 0.01: null;
this._width = this._parent.track_back._width*perc;
this._parent._parent.pausePos = (perc*this._parent._parent.MySound.duration/1000); }; };
top.track_back.onRelease = top.track_back.onReleaseOutside = function () {
delete this._parent.track_play.onEnterFrame;
this._parent.trackDrag = false;
MySound.stop();
playSong(); };


// volume slider functions
vol_back.onPress = function() {
vol_front.onEnterFrame = function() {
perc = (_xmouse-vol_back._x)/vol_back._width;
perc > 0.95 ? perc = 1: null;
perc < 0.05 ? perc = 0: null;
this._width = vol_back._width*perc;
volume = Math.round(perc*100);
MySound.setVolume(volume);
top.equalizer._yscale = volume; }; };
vol_back.onRelease = vol_back.onReleaseOutside=function () {
delete vol_front.onEnterFrame; };
vol_front.setMask(vol_mask);

// drawing equalizer in actionscript
top.equalizer.setMask(top.eq_mask);
top.equalizer.onEnterFrame = function() {
i++;

this.createEmptyMovieClip("graph"+i, i);
with(this["graph"+i]) {
_x = 0;
_y = 0;
beginFill(0x666666, 50);
moveTo(0,0);
for (j=0; j< 36; j++) {
z = random(12)+8;
lineTo(j*6,-1);
lineTo(j*6,-z);
lineTo(j*6+4,-z);
lineTo(j*6+4,-1);
lineTo(j*6,-1); }
lineTo(j*6,0);
lineTo(0,0);
endFill(); }
i >= 3 ? i=0: null; };


// scrolling the display song title
function scrollTitle() {
top.title.txt.autoSize = true;
if (songTitel[current_song-1].length > 20) {
top.title.txt.text = songTitel[current_song-1]+" "+songTitel[current_song-1];
top.title._x+top.title._width/2 +4< top.title_mask._x ? top.title._x = top.title_mask._x : top.title._x--; }
else {
top.title.txt.text = songTitel[current_song-1];
top.title._x = top.title_mask._x-3; } }
top.title.setMask(top.title_mask);
setInterval(scrollTitle, 40);


// easing display and playlist movement
MovieClip.prototype.easeY = function(t) {
this.onEnterFrame = function() {
this._y = int(t-(t-this._y)/1.5);
if (this._y>t-1 && this._y<t+1) {
delete this.onEnterFrame; } }; };

Groeten,
Ronald