PDA

Volledige versie bekijken : Muziek moet doorspelen


Dick
%Europe/Berlin %570 %2005, 13:41
Ik heb in een audio sectie gemaakt met een mp3 speler. Maar als ik naar een andere sectie ga in dezelfde scene, stopt de muziek. terwijl ik dat helemaal niet wil. Kan iemand mij helpen? De mp3 speler is een prefab component en dit is de actionscript:

/*

Anwendung: FS MP3 Player
Version: 1.0 (Final)
Released: 02, Januar 2004
Developers: Matthias u. Caroline Kannengiesser

Disclaimer:
Wir übernehmen natürlich kenie Haftung für Schäden, wobei
besonders viel kann der Flash basierte Player ja nicht anstellen.

Version History:
1.0 - 02, Januar 2004
- Direct Selection
- Trackslider

Beta - 26, Dezember 2003
- Statusdisplay
- Cover Display
- Next/Prev Song
- Play/Stop/Pause
- Digital equalizer
- The player is dragable
- External Playlist (XML)
- Simple & Extended Version
- Titel, Artist & Cover Preview
- Tracknumber & Totaltracks display
- Volume & Balance slider + display
- Timedisplay (Total/Elapsed/Remaining)
- Colored Loading & playing Progressbar

*/

// XML (Playlist + Arrayverwaltung)
data_xml = new XML();
data_xml.ignoreWhite = true;
data_xml.onLoad = ladeDaten;
data_xml.load(playlist);

function ladeDaten(success) {
if (success) {
aPath = new Array();
songTitel = new Array();
songArtist = new Array();
songCover = new Array();
audioTracks = new Array();
audioTracks = this.firstChild.childNodes;
totalAudio = audioTracks.length;
for (var i=0; i<totalAudio; i++) {
if (audioTracks[i].nodeName == "song") {
aPath.push(audioTracks[i].attributes.path);
songTitel.push(audioTracks[i].attributes.title);
songArtist.push(audioTracks[i].attributes.artist);
songCover.push(audioTracks[i].attributes.bild);
}
}
AudioPath = aPath[0];
titel = songTitel[0];
artist = songArtist[0];
aktAudio = 1;
trackAnzeige = aktAudio+" / "+totalAudio;
status = "Status: playlist - Loaded";
if (playerlook) setCover(0);
erstesBild = true;
} else {
status = "Status: PlayList - Not loaded";
}
delete audioTracks;
delete data_xml;
}

// Cover Loader
function setCover(pNr) {
if (_currentframe == 2 || !erstesBild) {
cover_mc.loadMovie(songCover[pNr],1);
}
}

// StreamSignal Prüfen
if (StreamSignal) {
sback_mc._visible = 0;
svor_mc._visible = 0;
}

// Rückwärts
function ruck(diff) {
pausgabe = MySound.position - diff;
MySound.stop();
MySound.start(pausgabe/1000,0);
}

// Vorwärts
function vor(diff) {
pausgabe = MySound.position + diff;
MySound.stop();
MySound.start(pausgabe/1000,0);
}

// Lautstärke und Balance Ausgangswerte
volume = 100;
balance = 0;

// Playschalter
play_btn.onRelease = function() {
if (pauseSignal == true) {
MySound.start(pausePos, 0);
pauseSignal = false;
playSignal = true;
delete pausePos;
kugel_mc._visible = 1;
} else {
MySound = new Sound();
if (volstatus < volume) {
volume = volstatus;
} else if (volstatus > volume) {
volume = volstatus;
} else if (volstatus == 100) {
volume = 100;
}
if (balstatus < balance) {
balance = balstatus;
} else if (balstatus > balance) {
balance = balstatus;
} else if (balstatus == 0) {
balance = 0;
}
MySound.loadSound(AudioPath, StreamSignal);
MySound.setVolume(volume);
MySound.setPan(balance);
MySound.onSoundComplete=function(){
kugel_mc._visible = 0;
playSignal = false;
status = "Status: stopped";
}
volstatus = volume;
balstatus = balance;
pauseSignal = false;
playSignal = true;
wahlSignal = false;
_parent.onEnterFrame = function() {
total = MySound.getBytesTotal();
geladen = MySound.getBytesLoaded();
if (geladen != total) {
if (geladen != undefined && total != undefined) {
status = "Status: " + Math.round((geladen*100/total)) + "% loaded";
}
mc._xscale = Math.round((geladen*100/total));
} else {
status = "Status: 100% Loaded";
delete _parent.onEnterFrame;
kugel_mc._visible = 1;
if (!StreamSignal) {
MySound.start(pausePos, 0);
}
}
}
}
}

play_btn.onRollOver = function() {
status = "Status: load / play song";
}

play_btn.onRollOut = function() {
status = (playSignal) ? status = "Status: playing" : status = "Status: stopped";
}

// Stop Schalter
stop_btn.onRelease = function() {
MySound.stop();
playSignal = 0;
delete pausePos;
kugel_mc._visible = 0;
}

stop_btn.onRollOver = function() {
status = "Status: stop playing";
}

stop_btn.onRollOut = function() {
status = (!playSignal) ? status = "Status: stopped" : status = "Status: playing";
}


// Pause Schalter
pause_btn.onRelease = function() {
if (!wahlSignal) {
pausePos = MySound.position/1000;
MySound.stop();
pauseSignal = true;
playSignal = false;
kugel_mc._visible = 0;
status = "Status: press play";
}
}

pause_btn.onRollOver = function() {
status = (!pauseSignal) ? status = "Status: pause playing" : status = "Status: press play";
}

pause_btn.onRollOut = function() {
status = (!playSignal) ? status = "Status: stopped" : status = "Status: playing";
}

// Nächster Schalter
next_btn.onRelease = function() {
if (aktAudio<totalAudio) {
aktAudio += 1;
AudioPath = aPath[aktAudio-1];
titel = songTitel[aktAudio-1];
artist = songArtist[aktAudio-1];
MySound.stop();
playSignal = 0;
pauseSignal = 0;
wahlSignal = 1;
delete pausePos;
kugel_mc._visible = 0;
trackAnzeige = aktAudio+" / "+totalAudio;
status = "Status: stopped - press play";
setCover(aktAudio-1);
}
}

next_btn.onRollOver = function() {
dstatus = status;
status = "Status: load next song";
}

next_btn.onRollOut = function() {
if (status != "Status: stopped - press play") status = dstatus;
}

// Vorheriger Schalter
prev_btn.onRelease = function() {
if (aktAudio>1) {
aktAudio -= 1;
AudioPath = aPath[aktAudio-1];
titel = songTitel[aktAudio-1];
artist = songArtist[aktAudio-1];
MySound.stop();
playSignal = 0;
pauseSignal = 0;
wahlSignal = 1;
delete pausePos;
kugel_mc._visible = 0;
trackAnzeige = aktAudio+" / "+totalAudio;
status = "Status: stopped - press play";
setCover(aktAudio-1);
}
}

prev_btn.onRollOver = function() {
dstatus = status;
status = "Status: load prev song";
}

prev_btn.onRollOut = function() {
if (status != "Status: stopped - press play") status = dstatus;
}

// Zeit Schalter
zeit_btn.onRelease = function() {
zeitSignal = !zeitSignal;
}

zeit_btn.onRollOver = function() {
dstatus = status;
status = "Status: Total / " +t_TrackZeit.total +" - switch timedisplay ";
}

zeit_btn.onRollOut = function() {
status = dstatus;
}

// Drag Schalter
drag_btn.onPress = function() {
startDrag(this._parent, false);
}

drag_btn.onRelease = drag_btn.onReleaseOutside = function() {
stopDrag();
}

drag_btn.onRollOver = function() {
dstatus = status;
status = "Status: drag 'n' drop";
}

drag_btn.onRollOut = function() {
status = dstatus;
}

// Look Schalter
look_btn.onPress = function() {
if (_currentFrame == 2) {
cover_mc._visible = 0;
gotoAndStop(3);
} else {
cover_mc._visible = 1;
gotoAndStop(2);
setCover(aktAudio-1);
}
}

look_btn.onRollOver = function() {
dstatus = status;
status = "Status: change look - simple/extended";
}

look_btn.onRollOut = function() {
status = dstatus;
}

// Credits/Logo Schalter
fslogo_btn.onPress = function() {
fslogo_mc._visible = !fslogo_mc._visible;
}

fslogo_btn.onRollOver = function() {
dstatus = status;
status = "Status: player - credits";
}

fslogo_btn.onRollOut = function() {
status = dstatus;
}

// Credits/Logo Clip (Ausgangszustand)
fslogo_mc._visible = 0;

fslogo_mc.onRelease = function() {
getURL("http://www.flashstar.de","_blank");
}

// Equalizer Schalter
kugel_mc._visible = 0;

// Display
onEnterFrame = function () {
_global.dauer = int(MySound.duration/1000);
_global.position = int(MySound.position/1000);
// Total Zeit
t_TrackZeit = {};
t_TrackZeit.minutes = int(_global.dauer/60);
t_TrackZeit.seconds = int(_global.dauer%60);
t_TrackZeit.total = checkDigits(t_TrackZeit.minutes)+":"+ checkDigits(t_TrackZeit.seconds);
// Bereits
b_TrackZeit = {};
b_TrackZeit.minutes = int((_global.position)/60);
b_TrackZeit.seconds = int((_global.position)%60);
b_TrackZeit.total = checkDigits(b_TrackZeit.minutes)+":"+ checkDigits(b_TrackZeit.seconds);
// Noch zu Spielen
n_TrackZeit = {};
n_TrackZeit.minutes = int((_global.dauer - _global.position )/ 60);
n_TrackZeit.seconds =int(( _global.dauer - _global.position )%60);
n_TrackZeit.total = checkDigits(n_TrackZeit.minutes)+":"+ checkDigits(n_TrackZeit.seconds);
// Ausgabe
sBalken("smc");
if (zeitSignal) {
display =n_TrackZeit.total;
} else {
display =b_TrackZeit.total;
}
// Trackslider
if (trackDrag != true) regler_mc._x = (MySound.position / MySound.duration) * sliderMax;
}

// Zweistelligkeit
function checkDigits(pWert) {
return (pWert<10) ? pWert="0"+pWert : pWert;
}

// Statusanzeige (Balken)
function sBalken(obj) {
prozent = _global.position*100/_global.dauer;
this[obj]._xscale = prozent;
prozent = parseInt(prozent)+"%";
}

// Doppelclick
movieclip.prototype.dClick = function(tempo) {
if (getTimer()-clickZeit<=tempo) return true;
clickZeit = getTimer();
}

// Prüfen des Komponenten Parameters playerlook
// (Simple/Extended Version)
if (!playerlook) gotoAndStop(3);

// Direkt Wahl
function setzeDirektwahl() {
for (var j=1; j <= 12; j++) {
this["dw" + j + "_btn"].nrtxt = j;
}
}

function setzeAudiowahl(pAkt) {
trace(pAkt);
aktAudio = pAkt;
AudioPath = aPath[aktAudio-1];
titel = songTitel[aktAudio-1];
artist = songArtist[aktAudio-1];
MySound.stop();
playSignal = 0;
pauseSignal = 0;
wahlSignal = 1;
delete pausePos;
kugel_mc._visible = 0;
trackAnzeige = aktAudio+" / "+totalAudio;
status = "Status: stopped - press play";
setCover(aktAudio-1);
}

// Trackslider
trackDrag = false;
sliderMax = bigdisplay_mc._width;

regler_mc.onPress = function() {
if (this._parent.MySound) {
trackDrag = true;
startDrag(this,false,0,this._y, sliderMax,this._y);
this._parent.onMouseMove = function() { updateAfterEvent() };
}
}

regler_mc.onRelease = regler_mc.onReleaseOutside = function() {
if (this._parent.MySound) {
trackDrag = false;
delete this._parent.onMouseMove;
stopDrag();
neuePosition = (this._x * (MySound.duration / 1000)) / sliderMax;
pausePos = neuePosition;
MySound.stop();
MySound.start(neuePosition, 0);
kugel_mc._visible = 1;
status = "Status: playing";
dstatus = status;
playSignal = true;
pauseSignal = false;
}
}

regler_mc.onRollOver = function() {
dstatus = status;
status = "Status: Drag Slider";
}

regler_mc.onRollOut = function() {
status = dstatus;
}

Jobu
%Europe/Berlin %579 %2005, 13:54
Met een sectie, bedoel je daarmee frame?

Zet eens je code-keyframe en design-keyframe op een nieuwe layer, waarbij de keyframes de nodige frames overlapt die je gebruikt in je movie (via F5)

rackdoll
%Europe/Berlin %581 %2005, 13:57
lol, ik heb gee idee. Ik zou zeggen.
lees de README file

kolnedra
%Europe/Berlin %591 %2005, 14:11
nog al makkelijk he, heel de code erin pleuren en maar van uitgaan dat wij het wel zien

Dick
%Europe/Berlin %822 %2005, 19:45
Het is soms moeilijk uit te leggen en de fla vaak te zwaar om op te sturen, daarom heb ik alle code maar meegestuurd, ook al omdat ik niet weet waar het em precies in zit. Ik heb de mp3 speler nu aan het begin van de timeline gezet en alleen zichtbaar gemaakt als hij gevraagd wordt te verschijnen. Dit is misschien niet de oplossing maar het helpt wel want de muziek speelt nu gewoon door. Alsnog bedankt voor de hulp. http://suzyscott.co.uk/index2.html

theFlashWizard
%Europe/Berlin %849 %2005, 20:23
ik zou om te beginnen eens je script in de behoorlijke tags zetten: [ as ] [ /as ]