Audió lejátszó létrehozása html5-el
Két megközelítés létezik szinte bármi létrehozására. Az első az, hogy lecsapjon az üzletbe, egy egészen az egésztől a magánigényig, és feltörje a döbbeneteket a problémákról, amikor felmerülnek, és remélik, hogy mindent megtud. A második az, hogy egy sor egyszerű tesztet hozzon létre: a magánszférából az egészbe. ellenőrizve minden egyes lépést, mielőtt a munkájuk gyümölcseit felhasználva elkészítené a végleges munkát.
E két módszer mindegyikének saját előnyei vannak, de a második szabály általában jobb eredményhez vezet. Itt bemutatom a második megközelítést a webes audio lejátszó eredeti prototípusának fejlesztésében, amellyel bemutattam Önt a cikksorozat első részében.
Eredeti elemek
Először is győződjön meg róla, hogy alapvetően lejátszhatjuk az oldal hangfájlját. Itt használom a 24-es számot a NIN csoport Ghosts III albumából a Creative Commons licence alatt:
Mivel a Firefox legújabb verziói és más modern böngészők is támogatják. 3. Itt csak ezt a codec-ot használom. Helyeztem az elemet
Miután megbizonyosodott arról, hogy a hang működik, a következő feladat, hogy létrehozza saját lejátszóját a lejátszóhoz.
Fokozatos javulás
Hozzáadva a HTML oldal alján, ez a szkript valójában lerövidíti a lejátszóinkat egy egyszerű elemre
Most egyszerűen beállíthatjuk a szöveget bármely HTML elem számára.
Ezután be kell állítanunk a gombot:
A némító gomb létrehozása
Szintén szükségünk van a hangerő szabályozására. A legegyszerűbb a "Mute" gomb létrehozása, amely a Play / Pause gomb sablonhoz hasonló sablont használ:
Ez a funkció egy kicsit nyers: ha a hang be van kapcsolva, akkor a hangerő hangerejét abszolút maximumra állítja (amennyire a rendszer megengedi), de jelenleg elfogadható.
Hangerőszabályzó létrehozása
Ezután pontosabb hangerő-szabályozásra van szükség. Az UI-vezérlés nyilvánvaló jelöltje a "tartomány" elem.
Sajnos nincs setAttributes módszer. amely lehetővé teszi több attribútum értékének egyidejű beállítását. Ennek ellenére meglehetõsen egyszerû feladatunk van:
Most beállíthatja a kötet tartományvezérlőjének attribútumait egy kódsorral:
Ne feledje, hogy a vezérlő minimális és maximális értékei megfelelnek az muter () függvény értékeinek.
Ezután hozzáadjuk az eseménykezelőt a vezérlőmezőhöz, beállítva a hangsáv hangerejét a vezérlő értékére az anonim funkción belül:
Itt találkozunk az első komoly problémával: funkcionális szempontból a szabályozó hangerejét 0-ra csökkentjük, és a "Mute" gomb megnyomásával megegyezünk, ezért az állapotváltást a gombon kell megjeleníteni. Hogyan tehetjük ezt?
A vezérlők szinkronizálása
Döntésem az, hogy elvonulok a gombokról, és megnézzük az elem volumenében bekövetkező változásokat
Van még egy dolog, amit rögzíteni kell. Amikor befejeződik a zeneszám, a zenének vissza kell térnie a kezdethez, és a lejátszás gombjának "Lejátszás" jelenik meg a "Szünet" vagy a "Leállítás" helyett:
Ez a kód feltételezi, hogy a betöltés után minden feltétel ideális: a böngésző támogatja a HTML5-öt és az összes használt API-funkciót, és a hangsávot azonnal betöltöttük. De ez nem mindig így van: például az Android 2 és az alább felsorolt események nem támogatják az eseményt. befejezte a hangot. Vannak módok arra, hogy megkeressük ezt és sok embert, akiket hozzá tudunk adni, de ma nem fogok figyelni rájuk.
Ui Ez is érdekes lehet:
Kevesebb, mint hat hónap telt el a W3C munkafolyamatának utolsó változása óta, mivel a konzorcium vezetője kapott javaslatot, hogy végül alkalmazzák ezt az új folyamatot. És írd le az irreleváns HTML-specifikációkat a múzeumban, hogy ne zavarják a fejlesztőket, hogy "relevánsak legyenek".
Egy másik CSS modul, amelyről beszéltünk, észrevehetetlenül érlelte a státuszát, amellyel a W3C azt tanácsolja, hogy elkezdje az új termékek napi használatát. A tartalom tulajdonság lehetővé teszi, hogy korlátozza a renderelési fa változásait, átírja a CSS mezőket, és átméretezze őket az elemen belül. Ezért nagyon fontos ...
TÖBB
Párizsból (a fotón), ahol nemrégiben került sor a CSS munkacsoport ülésére, érdekes hírek érkeztek: a grid-row-gap és a grid-column-gap properties, valamint a grid-gap ...