Eredmény: 1 - 6 (6) összesen

Téma: Javascript hangkezelés

  1. #1
    Bölcs lauda logója
    Csatlakozott
    09-02-24
    Hely
    Salgótarján
    Hozzászólás
    505
    Begyűjtött 12 köszönetet
    9 hozzászólásával

    Alapbeállítás Javascript hangkezelés

    Javascript eseményekre hívok elő mp3 hangokat egy alkalmazásban (játékban).
    A jelenlegi megoldás az hogy egy rejtett div tatalmát innerHTML-el változtatom.

    Kód:
     function hangnyert() {
      document.getElementById("zene").innerHTML = "<audio autoplay=\"true\"><source src=\"hangok/nyert.mp3\" type=\"audio/mpeg\" /><source src=\"hangok/nyert.ogg\" type=\"audio/ogg\" /><embed height=\"0px\" width=\"0px\" src=\"nyert.mp3\" /></audio>";
     }
    A hang meg is szólal néha kis csúszással, ami még beleférne de érzem hogy ez nem a nyerő megoldás.

    A lényeg az lenne hogy gyorsan szólaljon meg, lehetőleg cache-ből, akár rejtett lejátszó segítségével is jó lenne. Pl. abban sem vagyok biztos, hogy a fenti megoldás nem kéri le minden alkalommal a szervertől az állományt, amivel enyhén szólva megszivatom rendesen a szervert :S Az audio tag-es megoldás is csak az új böngészőkön működik ahogy észrevettem, nekem 9-es expolerben hallgat mint a sír. Olvasgattam a w3school audiós megoldásait, de most használom csak először és nem vagyok vele nagyon képben. Gondolom az mp3 minőség is túlzás az esetemben, ahelyett is jó lenne más ötlet.

    Egy játékban szólalnak meg ezek a hangok, amit a honlap kritikában bemutatok (online nyerőautomata.) Minden ötletnek örülnék amivel meg tudnám valósítani jobban mint a mostani.



  2. #2
    Bölcs benedictus logója
    Csatlakozott
    10-04-23
    Hozzászólás
    1.574
    Begyűjtött 2 köszönetet
    2 hozzászólásával

    Alapbeállítás re: Javascript hangkezelés

    Annyira nem vagyok tájékozott ez ügybe, de sztem ennél jobb megoldást nem találsz.

    mp3 helyett talán használhatsz mid-et,
    illetve használhatnál flash alapú audio lejátszást, de nem biztos hogy az jobb megoldás lenne


    Linkeld.be Linkmegosztó
    Indexeld.be - Linkgyűjtemény prémium funkciókkal!

  3. #3
    Seo-Titán hunprobalazs logója
    Csatlakozott
    10-05-30
    Hely
    Sin City
    Hozzászólás
    2.177
    Begyűjtött 381 köszönetet
    269 hozzászólásával

    Alapbeállítás re: Javascript hangkezelés

    A HTML5 nem ad erre megoldást?



  4. #4
    Bölcs lauda logója
    Csatlakozott
    09-02-24
    Hely
    Salgótarján
    Hozzászólás
    505
    Begyűjtött 12 köszönetet
    9 hozzászólásával

    Alapbeállítás re: Javascript hangkezelés

    Azt hiszem HTML5 ez az audio tag. Az <embed> -et a végére nem tudom honnan vettem, azt már ki is töröltem. Találtam ilyet, hogy preload="auto", ami már az oldal betöltésekor betölti az audiót. Ezek szerint csak 1x szedi le a szervertől a hangokat és nem többször, mert nem szeretnék repülni a szolgáltatótól. Talán ez a megoldás sem annyira rossz, viszont van olyan hang a játékban ami 80 ms -onként meg lenne hívva, ezt nálam csak a firefox tudta ezzel az innerHTML-el megcsinálni.


    Utoljára módosítva: lauda által : 2012-03-16 17:57

  5. #5
    Bölcs lauda logója
    Csatlakozott
    09-02-24
    Hely
    Salgótarján
    Hozzászólás
    505
    Begyűjtött 12 köszönetet
    9 hozzászólásával

    Alapbeállítás re: Javascript hangkezelés

    Leesett Balázs, hogy mire gondoltál és adott is megoldást a HTML5, kössz a tippet

    Kód:
     <audio preload="auto" id="tarcsahang" autoplay><source src="hangok/tarcsa.mp3" type="audio/mpeg" /><source src="hangok/tarcsa.ogg" type="audio/ogg" /></audio>
    így néz ki a html kód, preloaddal cache-be kerül így biztos hogy csak 1x tölti le, az újra lejátszás javascripttel pedig csak ennyi:
    document.getElementById("tarcsahang").load();

    Mindenképp jobb mint az innerhtml-es. Hátha valakinek még jól jön.



  6. #6
    Új tag gyoridavid logója
    Csatlakozott
    11-05-24
    Hely
    Budapest
    Hozzászólás
    10
    Begyűjtött 0 köszönetet
    0 hozzászólásával

    Alapbeállítás re: Javascript hangkezelés

    Az a baj, hogy a megoldás nem böngészőfüggetlen, mert csak a legújabb böngészőkben működik.
    Az én javaslatom a SoundManager 2, ami javascript alapú, van html5 fallback-je, teljesen böngészőfüggetlen. A dokumentációja nagyon jó, illetve google-el találni fogsz rá sok-sok tutorial-t. Írtam még régebben egy jquery plugin-t, a blogomon megtalálod, ha kell segítség a használatához pm.



A téma címkéi:

Könyvjelzők

Hozzászólás szabályai

  • Új témákat nem hozhatsz létre
  • Válaszokat nem küldhetsz
  • Fájlokat nem csatolhatsz
  • A hozzászólásaidat nem módosíthatod
  •