javascriptyoutubeyoutube-apijwplayerjwplayer6

Set jw player youtube video playback quality


I'm using jw player to play youtube videos, but i need for the video to start playing in hd ( 720p ) i use the following code:

<div id="player">
<script>
 jwplayer("player").setup({
        file: "http://www.youtube.com/watch?v=o8UCI7r1Aqw",
        height: "720",
        width: "1280"
    });
</script>
</div>
<script>
jwplayer('player').onPlay(function() {
jwplayer().setPlaybackQuality('hd720');
});
</script>

but i get the following error

There was an error calling back an event handler

Here is the test player that i set up.


Solution

  • setPlaybackQuality is not a valid API call - http://www.longtailvideo.com/support/jw-player/28851/javascript-api-reference

    Here is a list of valid quality API calls:

    Quality
    
    These API calls are used to listen to or update the video quality if multiple quality levels of a video are provided.
    
    getQualityLevels()
        Returns an array with quality levels from the player. Each level is an object that contains a label property. 
    getCurrentQuality()
        Returns the index of the currently active quality level. 
    
    setCurrentQuality(index)
        Change the quality level to the provided index. The index must be within the list provided by getQualityLevels. 
    
    onQualityLevels(callback)
        Fired when the list of available quality levels is updated. Happens e.g. shortly after a playlist item starts playing. Event attributes:
    
            levels (Array): the full array with new quality levels. 
    
    onQualityChange (callback)
        Fired when the active quality level is changed. Happens in respons to e.g. a user clicking the controlbar quality menu or a script calling setCurrentQuality. Event attributes:
    
            currentQuality (Number): index of the new quality level in the getQualityLevels() array.