Autor Zpráva
FTo
Profil *
Dobrý den,

potřebuji od zkušených Vás poradit. Chci naprogramovat hudební přehrávač na web a chtěl bych Vás poprosit o jakékoliv užiteční rady, které povedou ke zdárnému dokončení mého úkolu. To znamená, v čem to naprogramovat, literaturu, zdroje, cokoliv... Na ten přehrávač mám jisté konkrétní nároky.

Nezáleží na tom v jakém jazyce bude napsán, ale musí být kompatibilní a funkční všude (počítače, tablety, androidy atd..)

Musí umět komunikovat s databází (PostgreSQL) ... odesílat databázi informace o tom co na něm uživatel provádí (změna hlasitosti, posunutí záznamu zvuku atd...) a tahle komunikace musí probíhat zabezpečeně. Potřebuji tam mít mechanismus, aby se tím nedala databáze zneužít. (Injektor, odesílání fiktivních údajů, přehlcování a tak) Nejlépe by měl být přenos asi šifrovaný asi. Nevím právě.

Taky by měl umět databázi informovat informovat o tom že uživatel okno prohlížeče zavřel.

Přehrávat by měl soubory wav, mp3 a to přímo ze složek. Nechci používat xml nebo něco podobného. Libovolný zvuk je mu předán parametrem například z php. např. play(www.domena.com/adresar/sound.wav);

To je asi to hlavní. Nevím jestli na tohle stačí flash, hlavně na tu komunikaci s databází nebo html5... dám si rád poradit v čem to začít tvořit a co se naučit.

děkuji.
Fisir
Profil
Reaguji na FTa:
Samotné HTML 5 na toto stačit nebude, budeš si muset vypomoct JavaScriptem. Pokud chceš mít maximální podporu, budeš muset naprogramovat i flashový fallback.
FTo
Profil *
Fisir:
Jako myslíte záložní přehrávač? Ale stále nevim kde začít. Jaké knihovny budu v tom všem potřebovat. Tohle co jsem tady nastínil je pro mě totiž naprosto neprobádaná krajina.
xROAL
Profil
FTo:
Jako myslíte záložní přehrávač?
Záložný prehrávač napríklad pre staršie IE. HTML5 <audio> element je podporovaný až vo verzii 9 a vyšších. Ostatné moderné prehliadače s ním problém nemajú (okrem Opery Mini).

Ale stále nevim kde začít. Jaké knihovny budu v tom všem potřebovat.
Stačí znalosť JavaScriptu ako takého a samozrejme si pozrieť aké metódy má <audio> element. To nájdeš napríklad na W3Schools - HTML Audio/Video DOM. Nie je to nič zložité.

Potom už potrebuješ len znalosť HTML a CSS, aby si si mohol vytvoriť pekný design.

Musí umět komunikovat s databází
Na to budeš potrebovať nejaký serverový script (napríklad PHP), ktorý môžeš pomocou AJAXu volať pri rôznych činnostiach užívateľa, ktoré chceš zaznamenávať.

Přehrávat by měl soubory wav, mp3 a to přímo ze složek.
Tu môže nastať trošku problém. IE neprehrá Wav, s MP3 má zase problém Firefox a Opera. Tabuľku podporovaných formátov nájdeš aj na W3Schools. Tento problém sa rieši tým, že browseru poskytneš viac formátov rovnakého súboru (<source>), on potom prehrá prvý, ktorý prehrať dokáže.
FTo
Profil *
Děkuju... No studuju to. Jenom co mi neni jasný... budu ajaxem php script pokaždé když uživatel něco udělá. Vůbec nevim jak :D
CZghost
Profil
FTo:
Jak se poprat s Ajaxem popisuje tento článek. Bez jQuery ti ovšem fungovat nebude :-)
Chamurappi
Profil
Reaguji na CZghosta:
Cože? Proč by mu AJAX nefungoval bez jQuery?
Klasický JavaScript potřebuje pro správnou funkčnost AJAXu napříč nejpoužívanějšími prohlížeči spoustu kódu“ — to je lež, na počet řádků je AJAX bez jQuery prakticky stejně dlouhý jako s jQuery (pokud se parametry píší každý na nový řádek). Jediná potenciální nekompatibilita mezi prohlížeči je v inicializaci a i ta jde vyřešit jedním řádkem. Celá konstrukce na AJAX jde napsat z hlavy.
CZghost
Profil
Chamurappi:
Celá konstrukce na AJAX jde napsat z hlavy.
Tak mi ji ukaž.

Mimochodem, reaguješ na autora dotazu? -> „Reaguji na FTa
Chamurappi
Profil
Reaguji na CZghosta:
var xhr = new XMLHttpRequest();
xhr.open("GET", "adresa.aspx");
xhr.onreadystatechange = function()
{
  if(this.readyState != 4) return;
  // tady se něco udělá s this.responseText
};
xhr.send();
Hotovo. Žádná velká věda, ne? A pokud by to mělo fungovat i s nedostupným/vypnutým XMLHttpRequestem (což se týká všech Explorerů starších než verze 7 a asi 2‰ z Explorerů 7 a 8), musel by se první řádek nahradit za:
var xhr = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP");
CZghost
Profil
Chamurappi:
xhr.open("GET", "adresa.aspx");
Bude to fungovat i s PHP? Takhle to vypadá jako výhrada k ASP skriptům na Windowsových serverech.

// tady se něco udělá s this.responseText
Jde dělat cokoliv nebo je něco tabu?

if(this.readyState != 4) return;
Hodnota musí být přesně čtyřka, aby to fungovalo?

S tímhle zápisem jsem se nikdy nesetkal a upřímně nevím, zda bych ho napsal z hlavy. Možná ho mít uložený někde na disku a v případě potřeby ho vyštrachat.
Chamurappi
Profil
Reaguji na CZghosta:
Bude to fungovat i s PHP?
Prohlížeč ani neví, co běží na serveru.

Jde dělat cokoliv nebo je něco tabu?
Cokoliv.

Hodnota musí být přesně čtyřka, aby to fungovalo?
Jo. Událost onreadystatechange nastává několikrát — jak již napovídá název, vždy, když se změní readyState (což je stav načtení). Čtyřka znamená „už je vše načteno“.

S tímhle zápisem jsem se nikdy nesetkal
Podobný bys našel uvnitř jQuery a v ostatních frameworcích.
Můžeš si kolem té konstrukce pochopitelně napsat i vlastní funkci.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: