Frage

Eine solche einfache Sache, die ich tun müssen, und es scheint nicht, wie eine der regelmäßigen swf Spieler meine Bedürfnisse zu erfüllen, so denke ich, dass ich diese Abhilfe tun müssen. Ich brauche nur zwischen einer hohen Qualität wechseln zu können und eine niedrige Qualität .flv Video.

So denke ich nur mit zwei Tasten mit Onclick Ereignissen der Innerhtml des Javascript zu ändern, aber ich merkte, ich weiß nicht genau, wie. kann ich eine ID einer Zeile Javascript, oder soll ich das Ganze ersetzen schaffen? Hier ist mein Code:

<script type="text/javascript">
var so = new SWFObject('/lessons/videos/player.swf','mpl','610','480','9');
so.addParam('allowfullscreen','true');
so.addParam('allowscriptaccess','always');
so.addVariable('file','/lessons/videos/BukaTiende.flv');
so.write('mediaspace');
</script>

</div></div>
<input type="button" value="low"><input type="button" value="high">

In dem obigen Code, alles, was ich ändern muß, ist der "/lessons/videos/BukaTiende.flv" Link zu so etwas wie /lessons/videos/BukaTiende_lower.flv

Kann ich das mit einem getElementByld?

ich jquery haben.

War es hilfreich?

Lösung

Ich schlage vor, diese Befehle in einer Funktion einkapseln und sie mit dem einen oder anderen Videos als Parameter auf Klick ausgeführt wird.

Sie sagen, Sie jQuery haben um, so könnten genauso gut es bindet an die Tasten klicken.

<script type="text/javascript">
  function launch_video(quality){

    video_qual=(quality=='high')? '' : '_lower';

    var so = new SWFObject('/lessons/videos/player.swf','mpl','610','480','9');
    so.addParam('allowfullscreen','true');
    so.addParam('allowscriptaccess','always');
    so.addVariable('file','/lessons/videos/BukaTiende'+video_qual+'.flv');
    so.write('mediaspace');
    }

  $(document).ready(function(){
    $('.vid_button').click(function(){launch_video($(this).val());});
    });

</script>

</div></div><!-- I guess I'll leave those random divs in there-->

  <input class='vid_button'  type="button" value="low">
  <input class='vid_button' type="button" value="high">

Andere Tipps

Sie sollten eine Funktion machen, dass die URL des Videos als Parameter und ruft dann die SWFObject mit diesem paremeter .. ( Hinweis auf die AddVariable verwenden wir die Parameter der Funktion )

function loadVideo( pUrl )
{
var so = new SWFObject('/lessons/videos/player.swf','mpl','610','480','9');
so.addParam('allowfullscreen','true');
so.addParam('allowscriptaccess','always');
so.addVariable('file', pUrl);
so.write('mediaspace');
}

fügen Sie dann nennt es das erste Mal mit

<script type="text/javascript">
       loadVideo('/lessons/videos/BukaTiende.flv');
</script>

aslo einige ID, um Ihre Schaltflächen hinzufügen, damit Sie sie verweisen können

<input type="button" value="low" id="low">
<input type="button" value="high" id="high">

und fügen Sie dann die Click-Ereignisse, um Ihre Schaltflächen ..

<script type="text/javascript">
   $(document).ready(
     function(){
        $('#low').click( function(){ loadVideo('/path/to/lowversion.flv') } );
        $('#high').click( function(){ loadVideo('/path/to/highversion.flv') } );
     }
   );
</script>

Sie können das eingebettete Objekt von der Seite entfernen, wenn der Benutzer auf eine Schaltfläche klickt, und dann das Skript erneut aus, dass es zur Seite hinzufügt, aber mit einem anderen Variablenwert. Wenn Sie die SWFObject innerhalb eines div setzen, dann können Sie die div löschen, indem innerHTML- Einstellung = „“;

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top