使用我的网络应用程序使用MediaElementPlayer
类时遇到问题。我想要完成的是每次玩家播放曲目时都要触发一个方法。我的代码如下所示:
$(document).ready(function()
{
$('#audio-player').mediaelementplayer("#audio-player",
{
alwaysShowControls: true,
features: ['playpause','volume','progress'],
audioVolume: 'horizontal',
audioWidth: 400,
audioHeight: 120,
success: function(mediaElement, domObject)
{
mediaElement.addEventListener('ended', loadNew, false);
}
});
function loadNew()
{
Alert("Track ended callback");
}
$(".play-button").click(function()
{
alert("Load new");
});
});
我的jQuery版本是1.7.2。我尝试了其他变体,例如var player = new Media...
然后player.addEventListener
,但都没有运气。有趣的是,这实际上在昨天工作,今天却没有。
有什么建议吗?谢谢!
答案 0 :(得分:3)
我已设法修复它,对于所有未来的读者,代码发布在下面。没有多大变化,但它的魅力就像它一样。
$(document).ready(function()
{
var player = new MediaElementPlayer("#audio-player",
{
alwaysShowControls: true,
features: ['playpause','volume','progress'],
audioVolume: 'horizontal',
audioWidth: 400,
audioHeight: 120,
success: function(mediaElement, domObject)
{
mediaElement.addEventListener('ended', loadNextTrack, false);
}
});
$(".play-button").click(function()
{
alert("Load new");
});
});
function loadNextTrack(mediaElement, domObject)
{
alert("Next track callback");
}
答案 1 :(得分:1)
在您的mediaelementplayer()函数调用中,请务必不要将“#audio-player”作为第一个参数重复:
$(document).ready(function()
{
$('#audio-player').mediaelementplayer(
{
alwaysShowControls: true,
features: ['playpause','volume','progress'],
audioVolume: 'horizontal',
audioWidth: 400,
audioHeight: 120,
success: function(mediaElement, domObject)
{
mediaElement.addEventListener('ended', loadNew, false);
}
});
function loadNew()
{
Alert("Track ended callback");
}
$(".play-button").click(function()
{
alert("Load new");
});
});
应该解决你的问题。