MP3 in Flash streamen - SoundObject?

Warper

Erfahrenes Mitglied
Hi,

ich hoffe das ihr trotz dieser Überschrift den Thread zumindest mal anschaut. Mir ist klar das bereits zahlreiche Threads zu dem Thema vorhanden sind, aber keiner dieser Threads konnte mir weiterhelfen.

Mein Problem ist, ich muss einen Audioplayer hinbekommen, der 4 MP3's abspielen kann. Aber ich fang am Anfang an. Habe eine "komplette" Website in Flash erstellt, also inklusive Menü und Inhalt - es ist also ein kompletter SWF-Film der die ganze Website darstellt.

Ich habe das ganze so geregelt, das die Frames 1-7 der Hauptszene jeweils für verschiedene Inhalte stehen, also für die 7 Unterseiten der Website. Animationen etc, liegen als einzelne MovieClips in ihrer Ebene über die ganzen 7 Frames. DIe Buttons im Menü linken dann auf den passenden der 7 Frames und dort wird der Movie gleich wieder gestopt. Ich hab keine Ahnung ob diese Art Lösung irgendwie sinnvoll ist, aber sie erschien mir als die einfachste - bin nämlich ein absoluter FlashNewbie.

Nun muss da aber noch ein Player integriert werden. Hab ich als MovieClip gemacht und in diesem Movieclip liegen die 4 MP3's auf einem Layer hintereinander - 4 Buttons verweisen dann immer auf den passenden Frame zu einem Sound. Aber genau da ist das Problem, wie ich in einem anderen Thread gelesen habe, wird die Option Sync=Stream in einem MovieClip "ignoriert" und es wird zunächst der ganze Clip geladen (3 MB). Das ist natürlich nicht Sinn der Sache.

Weitere Recherchen haben mich auf folgenden Link gebracht (wurde hier im Forum genannt): http://www.flashkit.com/tutorials/Audio/Flash_MX-Kenny_Be-824/index.php
Dort wird aber nicht beschrieben wie man MP3's streamt, nur wie man sie dynamisch läd, oder hab ich da was falsch verstanden.

Also, habt ihr irgendeine Lösung oder ein Tipp für mich? Wäre super!

Vielen Dank,
Warper
 
Hi,

Um Sounds dynamisch zu streamen, sollten sie nicht in Bilder gelegt werden.
Wie das Tutorial wahrscheinlich aussagt, werden sie besser dynamisch geladen und einem Soundobjekt zugeordnet. Dabei kann man schon direkt angeben, ob der Sound "geladen" oder "gestreamt" werden soll - und zwar über den zweiten Parameter der loadSound-Methode (true steht für stream, false für nicht :) ):
Code:
mysound = new Array();

for (i=0; i<3; i++) {
  mysound[i] = new Sound();
  mysound[i].loadSound("Klang"+i"+".mp3", false);
}
Das obige Script lädt drei Sounds "normal" ein.
Code:
mysound.loadSound("Klang3.mp3", true);
Hiermit wird ein Sound gestreamt. Achtung: Beim Streamen beginnt der Sound automatisch zu spielen - wird er mit der Methode stop() angehalten, so muss er zum erneuten Abspielen neu geladen werden. Beim Streamen kann man auch kein zweites Offset angeben.
 
Nochwas (vielleicht hilft es etwas weiter):

Ich habe vor einigen Tagen ebenfalls einen kleinen Player erstellt (mit ähnlichen Problemen). Den findest Du im Anhang (MX). Da der Player als PlugIn (bzw. nachgeladenes Objekt in anderen Seiten) gedacht ist, müssen ihm seine Parameter extern übergeben werden:

player.song[x]="songname.mp3" (geht von 1-4 für maximal 4 Songs) sowie:
player.panel.play_current(); (um den aktuellen Song abzuspielen)
 

Anhänge

Hallo und ein gesundes Neues Jahr wünsch ich euch allen!

BETRIFFT FLASH MX(V.6)

FRAGE: wie bekomme ich statt des URL-STRINGS eine Variable(mit URL-STRING) in die loadSound()-Sache? Oder besser gefragt, wie schreibe ich es richtig?

mein PHP-Code der Datei(import.inc.php])
PHP:
echo "pfad=".urlencode("http://www.yyy/sounds/".$_GET['song_id'].".mp3");
mein AS-Code Versuch 1
Code:
soundsample = new Sound(this);
loadVariables("http://www.yyy/sounds/import.inc.php",this, "GET");
soundsample.loadSound("pfad", true);

Die Variable kommt an, da ich sie zum Test in Flash ausgeben kann.
Das Problem besteht nur darin, dass ich es nicht richtig in die loadSound()-Sache einbinde.

Danke schonmal im Voraus an alle Beteiligten, ich hoffe ihr könnt mir helfen!
 
Zuletzt bearbeitet:
Hallo,

lass einfach die Anführungszeichen beim loadSound-Aufruf weg, das sollte dein Problem lösen.

Gruss
Danke für Deine Antwort luke_the_duke, funktioniert trotzdem nicht.
Hatte ich schon probiert.
Wenn ich den URL direkt in dem loadSound-Aufruf schreibe funktioniert es. :(

Bitte um weitere Vorschläge!

WIE KANN ICH EINE AUS PHP IMPORTIERTE VARIABLE IN DEM loadSound-Aufruf verarbeiten?
 
Zurück