|
SWiSH Forum
Forum użytkowników programów SWiSH
|
Problem z ładowaniem zewnętrznych MP3 (loadSound()) |
Autor |
Wiadomość |
darekk84
Początkujący
Dołączył: 05 Paź 2014 Posty: 1 Skąd: Koszalin
|
Wysłany: Nie 05 Paź, 2014 21:24 Problem z ładowaniem zewnętrznych MP3 (loadSound())
|
|
|
Witam
tworzę pewien projekt w SWiShu. Jego jednym z głównych elementów jest ładowanie i odtwarzanie zewnętrznych plików mp3.
Wykorzystuje głównie następującą funkcję np:
onFrame (151) {
mySound=new Sound();
mySound.loadSound("sound/stale/lektor/s14.mp3");
mySound.start("0,1");
mySound.onSoundComplete = function () { _parent.nextFrameAndPlay();};
}
Loklalnie wszystko działa tak jak należy. Niestety pojawił się problem po wrzuceniu prawie gotowego swf na serwer. Niestety pliki nie są wczytywane i animacja się zatrzymuje.
Co może być przyczyną, że pliki są wczytywane lokalnie i animacja działa poprawnie, a po przesłanie na serwer (taka sama struktura plików/katalogów) niestety animacja dochodzi do odtworzenia pierwszego pliku i się zatrzymuje (plik nie jest wczytywany). Dodam, że wielkość pojedynczych plików to kilka kb więc nie powinno być to problemem.
Aby znaleźć błąd stworzyłem bardzo prosty plik tylko żeby przetestować działanie funkcji na serwerze (az.pl)
onFrame (1) {
mySound=new Sound();
mySound.loadSound("1.mp3");
mySound.start("0,1");
}
Niestety w takiej formie również nie działa pomimo, że plik 1.mp3 jest na tym samym poziomie co swf. Sprawdziłem wszystkie możliwe przeglądarki i ani razu plik nie został wczytany i odtworzony.
Proszę o pomoc, co może być przyczyną nie działania funkcji na serwerze a prawidłowego działania lokalnie. Spędziłem dziś cały dzień na poszukiwani rozwiązania, niestety bez skutku.
Pozdrawiam
Darek |
|
|
|
|
^Januszr
Pomógł: 216 razy Dołączył: 11 Maj 2005 Posty: 1854 Skąd: Stolyca od urodzenia
|
Wysłany: Pon 06 Paź, 2014 05:09
|
|
|
a jak spróbujesz podać ścieżkę do pliku z pełnym adresem typu: http://www.mojastrona.dom/pliki/..../1.mp3 ? |
_________________ Niestety używam nieoficjalnych wersji Swish, które można zassać z forums.swishzone.com - jest na szczycie listy w BugsForum.
|
|
|
|
|
eden
Ekspert
Pomógł: 35 razy Dołączył: 04 Sty 2008 Posty: 265 Skąd: warsaw
|
Wysłany: Pon 06 Paź, 2014 08:16
|
|
|
Kod jest poprawny. Twoim problemem jest prawdopodobnie czas reakcji serwera.
W liniach
Cytat: | mySound=new Sound();
mySound.loadSound("sound/stale/lektor/s14.mp3"); |
Tworzysz obiekt i ładujesz plik. Ale na serwerze www, jest większy lag odpowiedzi niż na dysku lokalnym. Plik nie zdąży załadować się do obiektu zanim następna linia kodu się wykona:
Cytat: | mySound.start("0,1"); |
Obiekt mySound jest jeszcze pusty, niema ustawionego streamowania na true. Dlatego w rezultacie nic się nie dzieje.
Rozwiążesz to przy pomocy funkcji callbackowej "onLoad"
Cytat: |
onFrame (151) {
mySound=new Sound();
my_sound.onLoad = function(success:Boolean) {
if (success) { mySound.start(); }
};
mySound.loadSound("sound/stale/lektor/s14.mp3");
mySound.onSoundComplete = function () { _parent.nextFrameAndPlay();};
} |
Alternatywnym rozwiązaniem było by rozdzielenie tworzenia obiektu na znacznie wcześniejsze klatki, a na klatce 151 danie samej instrukcji .start() |
|
|
|
|
|
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach Nie możesz załączać plików na tym forum Możesz ściągać załączniki na tym forum
|
Dodaj temat do Ulubionych Wersja do druku
|
|
|
|
|
|
Nowe zasady dotyczące cookies. Wykorzystujemy pliki cookies, aby nasz serwis lepiej spełniał Państwa oczekiwania. Można zablokować zapisywanie cookies, zmieniając ustawienia przeglądarki.
| Strona wygenerowana w 0.19 sekundy. Zapytań do SQL: 13 |
|
|