PDA

Volledige versie bekijken : MP3's spelen niet af.... onLoad() vertelt leugens....


gbolssens
%Europe/Berlin %512 %2006, 13:18
Hi allemaal,

Ik wil MP3's laden die in dezelfde directory staan als mijn SWF.
Dit gebeurt a.d.h.v. een XML-bestand dat ook in diezelfde dir staat.
De te laden naam wordt dus uit een attribute van een bepaalde tag uit de XML gehaald.

Ik heb 6 MP3's

1_1.mp3
1_2.mp3
.
.
.
1_6.mp3

Ik krijg van de outputwindow geen foutmelding dat de file niet bestaat, dus het inlezen van de XML gaat goed.

Als ik de volgende code (zie hierionder) gebruik krijg ik echter, telkens ik klik op de stage van de SWF, een foutmelding van de Sound.onLoad() dat de sound niet geladen zou raken.

Het gekke is dat de file 1_3.mp3 wel afspeelt, alhoewel de Sound.onLoad() method zegt dat 'ie niet geladen is. (?????) de rest van de mp3's hoor ik niet.

iemand een ideetje?


var xmlSource_xml:XML = new XML();
xmlSource_xml.ignoreWhite = true;
xmlSource_xml.onLoad = function()
{
trace("ik ben NU klaar met laden");
}
xmlSource_xml.load("scenestructure_v2.xml");

teller = 0;

_root.onMouseDown = function()
{
phrasePath=xmlSource_xml.firstChild.firstChild.chi ldNodes[teller].attributes;
var ph_id = phrasePath.id;
phrase_sound = new Sound()
phrase_sound.onLoad(success)
{
if(success)
{
phrase_sound.start();
trace("Playing Sound");
}
else
{
trace("Sound failed");
}
}
phrase_sound.loadSound(ph_id+".mp3", false);
_root.phraseInfo_txt.text = "phrase_id: "+ph_id+"\n";
teller ++;
}


alvast bedankt + greetz,
GB

P.S. tip van de dag: Als je de samplefrequentie van je MP3 niet instelt op een veelvoud van 11.025kHz speelt de flash player ze blijkbaar af op dubbele snelheid. Dąt is pas raar.

Macs
%Europe/Berlin %517 %2006, 13:24
Wat je nu met jouw script doet is elke keer onMouseDown phrase-sound aanmaken en configureren. Beter is om hetm 1 keer aan te maken en te configureren en vervolgens onMouseDown steeds te hergebruiken.
Ik weet niet of dat dit probeelm oplost, maar het script is ieg beter...

gbolssens
%Europe/Berlin %521 %2006, 13:30
Hi Macs,

Ik weet niet of dat dit probeelm oplost, maar het script is ieg beter...

Als ik de "new Sound()" en onLoad() buiten de onMouse Down zet, dan doet'ie helemaal niks meer, dus laat ik het liever zo staan tot ik weet waarom die MP3's niet afspelen.

Toch bedankt voor je reactie.

grtz,
GB

Roenes
%Europe/Berlin %528 %2006, 13:41
Waarom gebruik je niet de success parameter bij de xmlOnload? want nu ga je ervan uit dat het laden goed gaat...

Het is wel dat als je pas klikt nadat je xml aangeeft dat alles goed is, dan zou het moeten werken naar mijn idee ervan uitgaand dat het path naar je node juist is...

Plaats anders ff de hele zooi online :)

gbolssens
%Europe/Berlin %561 %2006, 14:28
Waarom gebruik je niet de success parameter bij de xmlOnload? want nu ga je ervan uit dat het laden goed gaat...



't is maar bij wijze van test, en ik weet nu toch zeker dat het laden goed gaat, dus daar ligt 't niet aan


Het is wel dat als je pas klikt nadat je xml aangeeft dat alles goed is, dan zou het moeten werken naar mijn idee ervan uitgaand dat het path naar je node juist is...


Ik wacht altijd effe, en lhet textfield op mijn stage geeft de attributewaarden goed weer, dus ik ben er zeker van dat de data goed binnenkomt



Plaats anders ff de hele zooi online :)

euhh, dit IS de hele zooi. Als ik dit aan de gang krijg, dan ga ik wel uitbreiden, maar dit is alle A.S. die ik tot nu toe heb.

de xml ziet er zo uit:

<animation baselanguage="english" targetlanguage="korean">
<scene id="1">
<phrase person="1" id="1_1" meaning="hey" nativetext="야" translation="hey" additional="Informal greeting, used between friends">
<word id="1_1_1">
<kor nativetext="야" translation="hey" additional="Informal greeting, used between friends"/>
</word>
</phrase>
<phrase person="2" id="1_2" meaning="oh, hey" nativetext="어, 안녕" translation="oh hello">
<word id="1_2_1">
<kor nativetext="어" translation="oh"/>
</word>
<word id="1_2_2">
<kor nativetext="안녕" translation="hello"/>
</word>
</phrase>
<phrase person="1" id="1_3" meaning="did you eat?" nativetext="밥 먹었어?" translation="rice did you eat?">
<word id="1_3_1">
<kor nativetext="밥" translation="rice"/>
</word>
<word id="1_3_2">
<kor nativetext="먹었어" translation="did you eat?"/>
</word>
</phrase>
<phrase person="2" id="1_4" meaning="no, I haven't" nativetext="아니, 아직 안 먹었어." translation="no food no">
<word id="1_4_1">
<kor nativetext="아니" translation="no"/>
</word>
<word id="1_4_2">
<kor nativetext="아직" translation="food"/>
</word>
<word id="1_4_3">
<kor nativetext="안" translation="no-"/>
</word>
<word id="1_4_4">
<kor nativetext="먹었어" translation="eaten"/>
</word>
</phrase>
<phrase person="1" id="1_5" meaning="Let's eat here" nativetext="그럼 여기서 먹자" translation="of course here eat">
<word id="1_5_1">
<kor nativetext="그럼" translation="of course"/>
</word>
<word id="1_5_2">
<kor nativetext="여기서" translation="here"/>
</word>
<word id="1_5_3">
<kor nativetext="먹자" translation="eat"/>
</word>
</phrase>
<phrase person="2" id="1_6" meaning="OK" nativetext="그래" translation="OK">
<word id="1_6_1">
<kor nativetext="그래" translation="OK"/>
</word>
</phrase>
</scene>
<scene id="2">
...
...
...
</scene>
</animation>



Ik hoop dat je hier iets mee kan.

greetz,
GB
P.S.: Ik was eerst bang dat die koreaanse karakters niet in Flash zouden raken, maar als ik als font "Arial Unicode" neem, dan gaat het perfect.

trashpuppy
%Europe/Berlin %632 %2006, 16:11
laat je geluid eens streamen :)

false -> true

tis een wilde gok dat dan je problemen voorbij zijn...

gbolssens
%Europe/Berlin %658 %2006, 16:48
Kleine correctie aan mijn A.S., Als ik het op false zet doet niets 't, Als ik 't op true zet dan doet alleen 1_3.mp3 het. De output blijft echter 6x "Sound failed".

Maar iig. zeer goed opgemerkt, want zo deed 'ie 't ook idd. niet.

grtz,
GB

trashpuppy
%Europe/Berlin %660 %2006, 16:51
var xmlSource_xml:XML = new XML();
xmlSource_xml.ignoreWhite = true;
xmlSource_xml.onLoad = function()
{
trace("ik ben NU klaar met laden");
}
xmlSource_xml.load("scenestructure_v2.xml");

teller = 0;

_root.onMouseDown = function()
{
phrasePath=xmlSource_xml.firstChild.firstChild.chi ldNodes[teller].attributes;
var ph_id = phrasePath.id;
phrase_sound = new Sound()

phrase_sound.loadSound(ph_id+".mp3", true);
phrase_sound.start();


_root.phraseInfo_txt.text = "phrase_id: "+ph_id+"\n";
teller ++;
}

werkt dit?

gbolssens
%Europe/Berlin %672 %2006, 17:07
Dit werkt net als mijn versie met streaming op true. Ik hoor nietsafspelen, alleen 1_3.mp3. In media player doen ze het wel allemaal....

gbolssens
%Europe/Berlin %709 %2006, 18:01
Nou snap ik er geen **** meer van!!! ik speel al die mp3's nog eens af in Media player om er zeker van te zijn dat ze goed zijn, en nu spelen ze allemaal af behalve 1_6.mp3.

Effe later speel ik een ander mp3'tje af en als ik daarna m'n swf test speelt'ie ze wel weer alle 6. Ik kan me niet voorstellen dat flash player die geluidjes eerst gehoord moet hebben in media player om ze dan na te kunnen zeggen.....

Super bizar......

grtz,
gb