jQuery调用函数播放下一个音频文件
jQuery recall a function to play the next audio file
我找到了一个播放音频文件的函数 (onclick),她工作正常
我想用这个功能在当前结束时播放下一个音频文件
所以我记得 onended 里面的函数,下一个音频文件被播放但是它冻结并无限重复自己而不传递到下一个文件
var thissound = new Audio();
var currentKey;
function EvalSound(key)
{
if (currentKey !== key)
thissound.src = "media/audio/chapters/" + chapternum + "/" + key + ".mp3";
currentKey = key;
if (thissound.paused)
{
thissound.play();
}
else
{
thissound.pause();
thissound.currentTime = 0;
currentPlayer = thissound;
}
}
$(".audio").click(function(e)
{
e.preventDefault();
var parentid = $(this).parent().parent().attr('id');
var nextfile = parseInt(parentid) + 1;
EvalSound(parentid);
thissound.onended = function()
{
EvalSound(nextfile);
return false;
};
});
HTML(举例)
<li class="liste" id="1">
<p><img class="audio" src="images/default/buttons/play.png" alt="Play" title="Play" /></p>
<p>some text</p>
</li>
<li class="liste" id="2">
<p><img class="audio" src="images/default/buttons/play.png" alt="Play" title="Play" /></p>
<p>some text</p>
</li>
...
...
感谢您的帮助
我解决了
所以,我把“thissound.onended = function()”放在函数
里面
thissound.onended = function()
{
var nextfile = parseInt(key) + 1;
if($("#" + nextfile).length)
{
$(window).scrollTop($('#' + nextfile).offset().top);
EvalSound(nextfile);
}
};
我找到了一个播放音频文件的函数 (onclick),她工作正常
我想用这个功能在当前结束时播放下一个音频文件 所以我记得 onended 里面的函数,下一个音频文件被播放但是它冻结并无限重复自己而不传递到下一个文件
var thissound = new Audio();
var currentKey;
function EvalSound(key)
{
if (currentKey !== key)
thissound.src = "media/audio/chapters/" + chapternum + "/" + key + ".mp3";
currentKey = key;
if (thissound.paused)
{
thissound.play();
}
else
{
thissound.pause();
thissound.currentTime = 0;
currentPlayer = thissound;
}
}
$(".audio").click(function(e)
{
e.preventDefault();
var parentid = $(this).parent().parent().attr('id');
var nextfile = parseInt(parentid) + 1;
EvalSound(parentid);
thissound.onended = function()
{
EvalSound(nextfile);
return false;
};
});
HTML(举例)
<li class="liste" id="1">
<p><img class="audio" src="images/default/buttons/play.png" alt="Play" title="Play" /></p>
<p>some text</p>
</li>
<li class="liste" id="2">
<p><img class="audio" src="images/default/buttons/play.png" alt="Play" title="Play" /></p>
<p>some text</p>
</li>
...
...
感谢您的帮助
我解决了 所以,我把“thissound.onended = function()”放在函数
里面thissound.onended = function()
{
var nextfile = parseInt(key) + 1;
if($("#" + nextfile).length)
{
$(window).scrollTop($('#' + nextfile).offset().top);
EvalSound(nextfile);
}
};