Zurück   Flashforum > Flash > Flash Einsteiger

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 05-12-2011, 14:29   #1 (permalink)
Neuer User
 
Registriert seit: Dec 2011
Beiträge: 8
Button einblenden nachdem Sound geladen wurde

Hallo zusammen,

Actionscript ist noch ziemlich neu für mich und ich versuche gerade einen Banner zu erstellen, bei dem Sound nachgeladen wird.

Sobald der Sound geladen wurde, möchte ich gerne den "Play" und den "Stop" Button einblenden. Leider wird nach dem Ladevorgang kein Button eingeblendet, woran kann das liegen.

Folgendes Skript verwende ich:

Code:
stop();

var is_playing = false;

on_btn._visible = false;
off_btn._visible = false;

var my_sound:Sound = new Sound(this);
my_sound.loadSound("testSound.mp3",false);
my_sound.attachSound("sound_id");
my_sound.onSoundComplete = function() {
    on_btn._visible = true;
    off_btn._visible = true;
};  

on_btn.onPress = function() {
	if(is_playing) {
		is_playing = false;
		my_sound.stop();	
	} else {
		is_playing = true;
		my_sound.start();
	}
};

off_btn.onPress = function() {
	is_playing = false;
	my_sound.stop();	
};
Danke für eure Hilfe!
Flex539 ist offline   Mit Zitat antworten
Alt 05-12-2011, 14:36   #2 (permalink)
experience++;
 
Benutzerbild von salazar
 
Registriert seit: Jul 2002
Ort: Düsseldorf
Beiträge: 11.347
hi und willkommen im flashforum,
warum denn loadSound und attachSound gleichzeitig? es geht doch nur eins von beiden und falls es attachSound sein soll fehlt noch das start()... und falls es loadSound sein soll und der sound streamen soll muss der letzte parameter true und nicht false sein

cheers,
sal
__________________
Bitte keine Flashfragen an mich schicken. Dafür ist ja das Forum da! Das betrifft auch Profilnachrichten.
Chuck Norris hat den Flash Player für alle mobilen Betriebssysteme!
salazar ist offline   Mit Zitat antworten
Alt 05-12-2011, 14:46   #3 (permalink)
Neuer User
 
Registriert seit: Dec 2011
Beiträge: 8
uhm, ja gute Frage.

Also der Sound soll zwar Streamen, allerdings erst nachdem man auf den Play Button gedrückt hat. Das war mir wichtig, um die Dateigröße der eigentlichen Flash Datei so klein wie möglich zu halten, weil das MP3 knapp 3 MB groß ist.

Wenn ich allerdings loadSound auf true stelle, fängt der Sound an sofort abzuspielen, nachdem er geladen wurde. Aber das sollte ja so nicht passieren.

Im Prinzip ist das Skript aus zwei verschiedenen Besipielen zusammengebaut, welche ich gefunden habe. Eigentlich funktionierte es auch exakt so, wie ich es wollte. Allerdings wurde der Playbutton bereits eingeblendet, bevor die MP3 Datei komplett geladen wurde und funktionierte somit die ersten paar Sekunden lang nicht, was beim Webseitenbesucher zu verwirrungen führt, weil er ja keinen Ladebalken angezeigt bekommt.
Somit hatte ich die Idee, den Playbutton solange auszublenden, bis die Datei geladen wurde und er funktionsfähig ist.

EDIT: ich sehe gerade was du meinst: attachSound ist natürlich völliger Schwachsinn. Das ist noch ein Relikt aus einer früheren Code version. wenn ich die Zeile mit attachSound einfach raus nehme funktioniert das Banner aber immernoch so, wie es soll (vorausgesetzt ich blende die Buttons vorher ein).
Das Einblenden der Buttons funktioniert aber weiterhin nicht

Geändert von Flex539 (05-12-2011 um 14:55 Uhr)
Flex539 ist offline   Mit Zitat antworten
Alt 05-12-2011, 14:55   #4 (permalink)
experience++;
 
Benutzerbild von salazar
 
Registriert seit: Jul 2002
Ort: Düsseldorf
Beiträge: 11.347
hi, aber dann läuft da was schief bei dir...

du wartest gar nicht bis was geladen ist, sondern nur bei etwas fertig abgespielt ist. eigentlich dürften deine buttons erst kommen wenn dein sound/lied einmal durchgelaufen, also zu ende ist.

Zitat:
Wenn ich allerdings loadSound auf true stelle, fängt der Sound an sofort abzuspielen, nachdem er geladen wurde. Aber das sollte ja so nicht passieren.
das stimmt nicht.. der streamt dann den sound. der fängt genau dann an zu spielen wenn der buffer voll ist.

und dann immer noch das problem das du loadSound und attachSound gleichzeitig benutzt... attachSound holt dir einen sound aus der bibliothek in flash. da du schreibst das du deine swf möglichst klein halten willst wär das ein direkter wiederspruch?! liegt denn überhaupt ein soundfile bei dir in der lib?

cheers,
sal
__________________
Bitte keine Flashfragen an mich schicken. Dafür ist ja das Forum da! Das betrifft auch Profilnachrichten.
Chuck Norris hat den Flash Player für alle mobilen Betriebssysteme!
salazar ist offline   Mit Zitat antworten
Alt 05-12-2011, 15:03   #5 (permalink)
Neuer User
 
Registriert seit: Dec 2011
Beiträge: 8
ja, du hast recht, das attachSound ist absoluter Schwachsinn. Die id bezieht sich auch auf ein Soundfile aus der bibliothek, welches ich bereits raus gelöscht hatte.

Mit dem folgenden Code funktioniert das Banner so wie es soll - wieso habe ich aber wohl noch nciht ganz verstanden. Der Sound wird nach dem Laden noch nciht abgespielt (wahrscheinlich weil loadSound auf false steht), ich kann aber auf den Playknopf nach einiger Zeit klicken und er wird dann abgespielt.

Allerdings vergehen einige Sekunden, bevor ich auf den Playknopf klicken kann (wahrscheinlich weil im Hintergrund die Datei komplett geladen wird???).

Code:
stop();

var is_playing = false;

var my_sound:Sound = new Sound(this);
my_sound.loadSound("testSound.mp3",false);
 
on_btn.onPress = function() {
	if(is_playing) {
		is_playing = false;
		my_sound.stop();	
	} else {
		is_playing = true;
		my_sound.start();
	}
};

off_btn.onPress = function() {
	is_playing = false;
	my_sound.stop();	
};
Wie würde man es denn richtig umsetzen, wenn man loadSound verwenden möchte (also streamen), der Sound aber erst anfangen soll zu spielen, nachdem man auf den Playknopf geklickt hat? Bei der aktullen Lösung funktioniert es zwar genau so (warum auch immer), allerdings erst, nach einigen Sekunden Ladezeit. Wenn das Banner schonmal geladen war, funtkioniert es sofort, wahrscheinlich weil das MP3 bereits im Brwoser cache existiert.

Geändert von Flex539 (05-12-2011 um 15:09 Uhr)
Flex539 ist offline   Mit Zitat antworten
Alt 05-12-2011, 15:10   #6 (permalink)
experience++;
 
Benutzerbild von salazar
 
Registriert seit: Jul 2002
Ort: Düsseldorf
Beiträge: 11.347
wieso packste nicht einfach:
PHP-Code:
my_sound.loadSound("testSound.mp3",true); 
in das onPress von deinem "Playknopf" rein?!
oder versteh ich dich falsch...
bin inzwschichen auch schon ein bissal eingerostet wenns um AS2/AS1 themen geht

cheers,
sal
__________________
Bitte keine Flashfragen an mich schicken. Dafür ist ja das Forum da! Das betrifft auch Profilnachrichten.
Chuck Norris hat den Flash Player für alle mobilen Betriebssysteme!
salazar ist offline   Mit Zitat antworten
Alt 05-12-2011, 15:14   #7 (permalink)
Neuer User
 
Registriert seit: Dec 2011
Beiträge: 8
Haha, du bist ja nen Fuchs

Dass ich da nciht selbst drauf gekommen bin - tsss. Es funktioniert jetzt genauso wie gewünscht mit folgendem Code:

Code:
stop();

var is_playing = false;

var my_sound:Sound = new Sound(this);
 
on_btn.onPress = function() {
	if(is_playing) {
		is_playing = false;
		my_sound.stop();	
	} else {
		is_playing = true;
		my_sound.loadSound("testSound.mp3",true);
	}
};

off_btn.onPress = function() {
	is_playing = false;
	my_sound.stop();	
};
Vielen Dank für die Hilfe!
Flex539 ist offline   Mit Zitat antworten
Alt 05-12-2011, 15:17   #8 (permalink)
experience++;
 
Benutzerbild von salazar
 
Registriert seit: Jul 2002
Ort: Düsseldorf
Beiträge: 11.347
bestens. dann viel spaß noch!

cheers,
sal
__________________
Bitte keine Flashfragen an mich schicken. Dafür ist ja das Forum da! Das betrifft auch Profilnachrichten.
Chuck Norris hat den Flash Player für alle mobilen Betriebssysteme!
salazar ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Screenshot eines Flashs erstellen (nachdem es geladen wurde) mgutt Server-Seite allgemein 0 19-06-2008 18:34
klicksound erst aktiv nachdem sound einmal komplett abgespielt wurde pixelmaus10 Flash MX 2004 6 11-08-2004 20:33
nachdem logo freigerubbelt wurde, soll button aktiv werden wolondong ActionScript 1 2 31-07-2003 10:25
Button nachdem movie geladen sperren reneLE Flash 4 und Flash 5 2 07-03-2002 08:15
Button klappt erst nachdem ein anderer geklickt wurde xthetronx Flash 4 und Flash 5 7 11-01-2002 20:56


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:48 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele