www.webdeveloper.com
Results 1 to 4 of 4

Thread: Changing the sources of video using onclick

  1. #1
    Join Date
    Jan 2010
    Posts
    11

    Changing the sources of video using onclick

    Hello,

    I am using the videojs plugin to add a video player to my site (http://videojs.com/). I have multiple videos on the same page listed above the player. I have not put the links in <li> tags they are simple <a> tags.

    When i click on the link i want it to update the player with the new video. From what i can work out i need to do this on the onclick event. However, i need it to be able to update multiple sources because each browser reads a different file (because onbviously they do not all support the same format)

    I have made this work successfully for updating one source, but can't make it work for more than that.... can anyone help?

    This is the code i have been using for the video player:

    Code:
    <video id="video" class="video-js vjs-default-skin" controls width="960" height="544" autoplay="true" preload="auto" data-setup="{}">
    <source src="#" id="mp4" type='video/mp4'>
    <source src="#" id="webm" type='video/webm'>
    </video>
    and this is the code for the links.....

    Code:
    <a href="#null" onclick="document.getElementsByTagName('video') .src = 'assets/videos/misc/antibioclic.mp4'">Antibioclic</a>
    Any help is appreciated....

  2. #2
    Join Date
    Aug 2010
    Posts
    7
    I don't know if this is the best solution for your problem but I'd gone with:
    Code:
    <script>
    	function ChangeVideo(src1, src2)
    	{
    		document.getElementById('mp4').src = src1;
    		document.getElementById('webm').src = src2;
    	}
    </script>
    
    <video id="video" class="video-js vjs-default-skin" controls width="960" height="544" autoplay="true" preload="auto" data-setup="{}">
    	<source src="#" id="mp4" type='video/mp4'>
    	<source src="#" id="webm" type='video/webm'>
    </video>
    
    <a href="#null" onclick="ChangeVideo('source-to-the-mp4', 'source-to-the-webm');">Antibioclic</a>
    If you're not too sure about what functions does it's something like this:
    Code:
    <a href="#null" onclick="document.getElementById('mp4').src = 'source-to-the-mp4'; document.getElementById('webm').src = 'source-to-the-webm';">Antibioclic</a>

  3. #3
    Join Date
    Jan 2010
    Posts
    11
    Thanks for the reply and the help....

    I have tried using both methods but it doesn't seem to work. It is not finding the id of the <source> tag (i.e mp4/webm) within the <video> tag.... thus nothing changes.

    I tried both methods, i put the script function in the header and then added the code to the onclick but nothing works.

    If i remove the id from the <source> within the <video> tag and change the getelementbyID to video it works, but then i have the same problem as before as it only updates one of the sources....

    Any thoughts?

  4. #4
    Join Date
    Oct 2006
    Posts
    939
    Place the video inside a container div. Instead of a link, style a span to appear as a link or just use buttons to call a function. When a new video src is called, the function first empties the container div via removeChild() Then innerHTML= the entire new video tag with the new src.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
HTML5 Development Center



Recent Articles