Dieter Raber: mp3/ogg "Sprite"

Hallo

ich arbeite gerade an einer Webseite, in der auch Soundeffekte eingesetzt werden sollen. Es handelt sich dabei eher um kleine Schnipsel aus 'Duff-Bumm-Zack'-Kategorie, also recht kleine Dateien, die bei bestimmten Aktionen eingesetzt werden sollen. Ob die User das gut finden oder nicht, will ich mal dahin gestellt lassen, mir geht es hier nur um die technische Seite.

Ziel ist es, eine moeglichst breite Browserbasis anzusprechen, auch iPad, Android etc. Wir werden verschiedene Versionen der Seite haben, koennten also mehrere Loesungen parallel implementieren.

Ich komme somit auf folgende Moeglichkeiten:

  • die verschiedenen HTML5 <audio> Varianten
  • die Backgroundsound-Varianten in einem iframe
  • Flashbasierte Loesungen

Meine Fragen:
1. Gibt es noch andere Wege?
2. Um die Anzahl der Requests zu minimieren, habe ich ueberlegt, eine Sounddatei aehnlich wie ein CSS Sprite aufzubauen, also
sec 0 - 3 = Sound 1
sec 10 - 11 = Sound 2
etc. und dann halt eben nur einen Bereich bei Bedarf abzuspielen. Geht das, und wenn ja, was waere dann der Ansatz?

Danke fuers Denken

Dieter

  1. Hi,

    1. Um die Anzahl der Requests zu minimieren, habe ich ueberlegt, eine Sounddatei aehnlich wie ein CSS Sprite aufzubauen, also
      sec 0 - 3 = Sound 1
      sec 10 - 11 = Sound 2
      etc. und dann halt eben nur einen Bereich bei Bedarf abzuspielen. Geht das, und wenn ja, was waere dann der Ansatz?

    Na ja, der Ansatz wäre, dass du analog zu den Koordinaten, die du bei CSS-Sprites für die Positionierung angibst, hier auch auf irgendeine Art und Weise zu jedem Teilstück zwei „Koordinaten“, Anfangszeitpunkt innerhalb der Gesamt-Audiospur und Länge, übermittelst.

    Und dann musst du dir überlegen, wie du diese Ausschnitte auf dem Client dann ansteuerst.
    Ob dazu bereits das AUDIO-Element und die zum Zugriff per JavaScript bereitgestellte API bzw. deren aktueller Umsetzungsgrad in den Browsern ausreichen, kann ich dir spontan nicht sagen.
    Und sonst, Flash natürlich. Irgendeine simple Audioplayer-Komponente so umgeschrieben, dass sie die übergebenen Intervalle einzeln abspielen kann, und dazu eine per JavaScript ansteuerbare Methode zum Abspielen eines bestimmten Intervals.

    MfG ChrisB

    --
    “Whoever best describes the problem is the person most likely to solve the problem.” [Dan Roam]
    1. Ob dazu bereits das AUDIO-Element und die zum Zugriff per JavaScript bereitgestellte API bzw. deren aktueller Umsetzungsgrad in den Browsern ausreichen, kann ich dir spontan nicht sagen.

      Die entsprechenden Funktionen etc. sind durchaus vorgesehen, es gibt die Methoden play() und pause() sowie das Attribut currentTime.
      Zu den Browser-Implementierungen kann ich nicht sooo viel sagen, aber ich schau mal was ich auf die Schnelle an Informationen finde:
      Gecko kann es
      IE bis einschließlich 8 kann es nicht. (IE9 kann wohl AUDIO ob die JS-Kommandos weiß ich nicht)
      WebKit kann es
      Opera kann es

      Darüber hinaus scheint es mir keine für die Seite essenzielle Funktionalität zu sein, also wenn ein paar Browser es nicht können... who cares?

      --
      sh:( fo:| ch:? rl:( br:& n4:& ie:{ mo:} va:) de:µ_de:] zu:) fl:( ss:| ls:[ js:(
      1. Hallo Deus Figendi,

        Deine Loesung gefaellt mir, danke.

        Darüber hinaus scheint es mir keine für die Seite essenzielle Funktionalität zu sein, also wenn ein paar Browser es nicht können... who cares?

        Personally I don't but my customer might. Da IE wohl eher nicht auf dem iPad zu finden sein wird, koennte ich da auf Flash zurueckgreifen und der Fall waere erledigt.

        Weiss hier jemand zufaellig eine Flashapplication, die meinem Ideal moeglichst nahe kommt? Diese mueeste entweder Open Source sein, damit ich mein Zeugs selbst implementieren kann oder aber einen Autor haben, der das fuer einen vernuenftigen Preis macht.

        Gruss

        Dieter

        1. Personally I don't but my customer might. Da IE wohl eher nicht auf dem iPad zu finden sein wird, koennte ich da auf Flash zurueckgreifen und der Fall waere erledigt.

          Ich dachte der iPad kann kein Flash?

          Struppi.

          1. Hi Struppi,

            vielleicht habe ich mich da etwas ungeschickt ausgedrueckt. Was ich meinte ist, dass ich fuer iPad etc. die <audio> Loesung, fuer IE hingegen die Flashloesung nehmen kann.

            Gruss

            Dieter

            1. vielleicht habe ich mich da etwas ungeschickt ausgedrueckt. Was ich meinte ist, dass ich fuer iPad etc. die <audio> Loesung, fuer IE hingegen die Flashloesung nehmen kann.

              Ja Danke, damit hast du mein Weltbild wieder gerade gerückt ;-)

              Struppi.

          2. Hi Struppi,

            vielleicht habe ich mich da etwas ungeschickt ausgedrueckt. Was ich meinte ist, dass ich fuer iPad etc. die <audio> Loesung, fuer IE hingegen die Flashloesung nehmen kann.

            Gruss

            Dieter

        2. Personally I don't but my customer might. Da IE wohl eher nicht auf dem iPad zu finden sein wird, koennte ich da auf Flash zurueckgreifen und der Fall waere erledigt.

          Die Fragen die man den Kunden eigentlich auch immer mal stellen müsste sind: Wie ist das eigentlich mitohne JavaScript? Was ist mit Textbrowsern und gibt es auch Rechner ohne Boxen/Kopfhörer?
          Ansonsten Nachtrag: Der InternetExplorer kann doch <audio> kann die JS-Kommandos dann vermutlich doch (auch wenn ich den Code auf die Schnelle jetzt nicht tiefgründig analysiert habe gehe ich mal davon aus, dass sie JS verwendet haben ^^).

          --
          sh:( fo:| ch:? rl:( br:& n4:& ie:{ mo:} va:) de:µ_de:] zu:) fl:( ss:| ls:[ js:(
          1. Hi,

            Die Fragen die man den Kunden eigentlich auch immer mal stellen müsste sind: Wie ist das eigentlich mitohne JavaScript?

            Die Sound sind nur ein Extra, wenn der Browser das nicht kann, kann er es halt nicht, die Seite wird trotzdem klaglos funktionieren, wenn auch geraeuschlos.

            Gruss

            Dieter

            1. Die Fragen die man den Kunden eigentlich auch immer mal stellen müsste sind: Wie ist das eigentlich mitohne JavaScript?
              Die Sound sind nur ein Extra, wenn der Browser das nicht kann, kann er es halt nicht, die Seite wird trotzdem klaglos funktionieren, wenn auch geraeuschlos.

              Genau das meinte ich in meinem ursprünglichen Beitrag: Wenn der Browser (hier IE<=8) das nicht kann, kann er es halt nicht, die Seite wird trotzdem klaglos funktionieren, wenn auch klanglos.
              Ich weiß auch dass das alles andere als einfach ist 'nem Kunden zu erklären, aber ich meine halt "kein JavaScript" oder "InternetExplorer" ist in diesem Zusammenhang eben einfach mal kein Unterschied.

              --
              sh:( fo:| ch:? rl:( br:& n4:& ie:{ mo:} va:) de:µ_de:] zu:) fl:( ss:| ls:[ js:(
        3. Hi,

          Deine Loesung gefaellt mir, danke.

          *Hust*

          MfG ChrisB

          --
          “Whoever best describes the problem is the person most likely to solve the problem.” [Dan Roam]
          1. Erm das nennt man wahrscheinlich "Abstauber" ^^
            'tschuldige, mich hat sowas auch schon geärgert, aber ich hab dieses Missverständnis nicht provoziert, der Dieter ist Schuld!

            --
            sh:( fo:| ch:? rl:( br:& n4:& ie:{ mo:} va:) de:µ_de:] zu:) fl:( ss:| ls:[ js:(