Mediaelement.js load()和play()问题

时间:2012-06-13 16:17:03

标签: javascript django html5-video html5-audio mediaelement.js

我在我的网站上使用mediaelementplayer来播放来自youtube的视频。我已经编写了自己的播放列表,其中我可以点击播放列表中的任何曲目,播放器将自动开始播放该曲目。

以下是代码的一些相关部分:

初始化

var videoplayer = new MediaElementPlayer("#videoplayer",
{
defaultVideoWidth: 480,
defaultVideoHeight: 270,
videoWidth: -1,
videoHeight: -1,
audioWidth: 960,
audioHeight: 30,
startVolume: 0.8,
loop: false,
enableAutosize: true,
features: ['playpause','progress','current','duration','tracks','volume'],
success: function(mediaElement,domObject) {
  mediaElement.addEventListener('ended', function(e) {
//Next song.
playTitle((currentIndex<playlist.length-1)?currentIndex+1:0);
  }, false);
},
startLanguage: '',
translations: [],
translationSelector: false,
googleApiKey: '' });

这是我将曲目从当前曲目更改为下一曲目的部分:

function playTitle(url){
videoplayer.pause();
videoplayer.setSrc(mejs.Utility.absolutizeUrl(url));
videoplayer.load();
videoplayer.play();
}

问题是,下一首曲目没有加载。当前曲目暂停,显示下一曲目的长度,但不会开始播放。

这是有趣的部分:如果我在chrome控制台中输入相同的步骤,它会按预期完美地工作。当前曲目暂停,下一曲目被加载,进入videoplayer.play();后,它开始播放。

我猜这是一种延迟问题,在此期间某些事件被触发。我无法弄清楚哪一个,以及如何捕获它!

0 个答案:

没有答案