tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
1
ZUGRIFFE
534
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    mathon mathon ist offline Rookie
    Registriert seit
    Sep 2006
    Beiträge
    8
    hi,

    also ich habe zwei WebSeiten: Auf der ersten werden verschiedene Musiker angezeigt von denen Links zur zweiten Seite führen und in der url jeweils die entsprechende ID zum musiker haben. Somit werden dann in der zweiten webseite je nach dem Parametervalue die entsprechenden verfügbaren Songs zu dem Musiker angezeigt. Jetzt möchte ich aber noch neben der ListBox einen play und stop button haben. Das heißt wenn der user auf play klickt wird das selektierte Lied von der ListBox abgespielt. Das was ich an JavaScript bis jetzt habe sieht so aus:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    
        <script language="javascript" type="text/javascript">
          <!--
           var formular = new Array(0);
           decode();
     
        /* Diese Funktion decodiert die Angaben im Pfad */
     
          function decode()
           {
            var url   = window.location.search;
            if (url != "")
             {
              url = url.substring(1,url.length);                      // Die Daten werden aus der
                                                                      // Url extrahiert und in
              liste = url.split("&");                                 // Wertepaare am & getrennen
              for (i=0;i<=liste.length-1;i++)
               {
                temp = liste[i].split("=");                           // Feld und Daten jedes
                formular.splice(formular.length,2,temp[0],temp[1]);   // Paares werden zerlegt
               }
              for (i=0;i<=formular.length-1;i++)
              {
               formular[i] = formular[i].replace(/\+/g," ");
                  // Ersetzen des + durch Blank
               formular[i] = unescape(formular[i]);                   // Escapesequenzen rekonstruieren
              }
             }
           }
     
            <!--
             for (var i=0;i<formular.length;i++)
             {
           var musician = formular[++i];
             }
            //-->
     
                 if (musician == "mozart")
           {
            document.write("<select name=\"Auswahl\" size=\"8\" onchange=\"CheckAuswahl(this.value)\">");
          document.write("<option>Lied1</option>");
          document.write("<option>Lied2</option>");
          document.write("</select>");
         }
           </script>


    Also mit dem onChange und der Übergabe des Song-titles ist das kein problem. Aber ich möchte jetzt gerne neben der Listbox einen Play-Button erstellen und wenn man auf diesen klickt wird das lied das in der listbox selektiert ist abgespielt.

    Mit <embed src="...> kann ich ja ein audio-file einbinden, nur sind da bei mir leider noch zwei Unklarheiten:

    a) Wie kann ich im embed src="..." das jeweils selektierte Lied aus der ListBox angeben?

    b) Kann man das definieren, dass das lied dann erst anfängt zu spielen, wenn man auf den play-button klickt?

    wäre super, wenn mir da jemand weiterhelfen könnte!

    mfg matti
     

  2. #2
    mathon mathon ist offline Rookie
    Registriert seit
    Sep 2006
    Beiträge
    8
    hallo,

    ich habe es jetzt hinbekommen, dass ich aus einer listbox einen titel auswählen kann und dann auf einen link starten klicken kann und das lied abgespielt wird:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    
    <script language="javascript" type="text/javascript">
      <!--
       var formular = new Array(0);
       var myEmbed;
       decode();
      
     
    /* Diese Funktion decodiert die Angaben im Pfad */
     
    function decode()
       {
        var url   = window.location.search;
        if (url != "")
         {
          url = url.substring(1,url.length);                      // Die Daten werden aus der
                                                                  // Url extrahiert und in
          liste = url.split("&");                                 // Wertepaare am & getrennen
          for (i=0;i<=liste.length-1;i++)
           {
            temp = liste[i].split("=");                           // Feld und Daten jedes
            formular.splice(formular.length,2,temp[0],temp[1]);   // Paares werden zerlegt
           }
          for (i=0;i<=formular.length-1;i++)
          {
           formular[i] = formular[i].replace(/\+/g," ");
              // Ersetzen des + durch Blank
           formular[i] = unescape(formular[i]);                   // Escapesequenzen rekonstruieren
          }
         }
       }
        
        for (var i=0;i<formular.length;i++)
         {
          var musician = formular[++i];
          document.write("<tr><td>" + formular[i] + "</td>");
          document.write("<td><tt>" + formular[++i] + "</tt></td></tr>");
         }
         
         var embedCreated = 0;
         var myEmbed;
         var adresse;
        
         function sound() {
         
         for (var i=0;i<document.getElementsByTagName("select")[0].options.length;i++)
         {
            if (document.getElementsByTagName("select")[0].options[i].selected == true)
            {
                adresse = document.getElementsByTagName("select")[0].options[i].value;
                alert(adresse);
            }
            
         }
         
         var adresse1 = adresse;
         if(embedCreated==1){
         var zuLoeschen = document.getElementsByTagName("embed")[0];
         document.getElementsByTagName("body")[0].removeChild(zuLoeschen);
         }
         myEmbed = document.createElement("embed");
         myEmbed.setAttribute("src",adresse1);
         myEmbed.setAttribute("autostart","true");
         myEmbed.setAttribute("loop","false");
         myEmbed.setAttribute("hidden","true");
         var Ausgabebereich = document.getElementsByTagName("body")[0];
         Ausgabebereich.appendChild(myEmbed);
         embedCreated = 1;
         }
         
     //-->
    </script>
    <script>
        if (musician=="Bach")
        {   
            document.write("<select name=\"Auswahl\" size=\"8\" onChange=\"CheckAuswahl(this.value)\">");
            document.write("<option selected=\"selected\">Test1</option>");
            document.write("<option>symphonie.mp3</option>");
            document.write("</select>");
        }
     
    </script>

    und der starten link:
    Code :
    1
    
    <a href="#" onClick="javascript:sound()">Starten</a>

    Jedoch habe ich noch ein Problem bei dem Stoppen-Link:

    Code :
    1
    
    <a href="#" onClick="javascript:document.embeds[0].stop()">Stoppen</a>
    Leider funktioniert das Stoppen nicht, obwohl ich oben beim javascript mit dem createElement - das ist sicher das einzige embed -Element, das ich auf meiner Seite habe.

    Muss man das irgendwie anders definieren?

    lg matti
     

Ähnliche Themen

  1. Antworten: 2
    Letzter Beitrag: 24.08.10, 14:20
  2. Mp3 abspielen und Id eines Listbox Elementes
    Von eternitysoft im Forum .NET Windows Forms
    Antworten: 5
    Letzter Beitrag: 04.05.08, 00:58
  3. Images aus einer ListBox in einer PictureBox anzeigen
    Von Zhoragh im Forum .NET Windows Forms
    Antworten: 1
    Letzter Beitrag: 27.04.07, 13:01
  4. Menüeditor in einer ListBox
    Von boozer im Forum Visual Basic 6.0
    Antworten: 1
    Letzter Beitrag: 21.05.05, 14:43
  5. Füllen einer Listbox in einer Dialog Bar
    Von HotrenorTaak im Forum VisualStudio & MFC
    Antworten: 1
    Letzter Beitrag: 08.02.05, 13:05