我的页面上有一个嵌入式SC播放器,我希望用户能够从页面上的链接跳转到声音文件中的特定时间码。我第一次点击就可以了。但是,如果用户然后点击指向某个细分的另一个链接,则SC播放器会忽略它。它只是继续播放并忽略输入。
这是我的相关代码:
function playSC(seekto){
seekto = HMSToMS(seekto);
var container = document.getElementById("SCPlayer");
var iframe = container.getElementsByTagName("iframe");
var widgetIframe = iframe[0],
widget = SC.Widget(widgetIframe);
widget.bind(SC.Widget.Events.READY, function() {
widget.play();
});
widget.bind(SC.Widget.Events.PLAY, function() {
widget.seekTo(seekto);
});
widget.bind(SC.Widget.Events.SEEK, function() {
widget.unbind(SC.Widget.Events.PLAY);
});
widget.bind(SC.Widget.Events.PAUSE, function() {
widget.unbind(SC.Widget.Events.PLAY);
});
widget.bind(SC.Widget.Events.PLAY, function() {
widget.unbind(SC.Widget.Events.PLAY);
});
}
var container = document.getElementById("SCPlayer");
var iframe = container.getElementsByTagName("iframe");
var widgetIframe = iframe[0],
widget = SC.Widget(widgetIframe);
seekto = getParameterByName('t');
if (seekto){
(function(){
playSC(seekto);
}());
}
SC播放器是通过Wordpress插件嵌入的,通过DOM获取它有点棘手,因为我不能只为它分配一个唯一的ID。
用户点击的href如下所示:javascript:playSC(“00:01:21”);
我在这里缺少什么?在第二次(或第三次或第四次)点击为什么玩家不停止,寻找新的时间并再次开始游戏?
答案 0 :(得分:0)
我想我可能已回答了我自己的问题。这就是我所拥有的,似乎正在工作。
function playSC(seekto){
seekto = HMSToMS(seekto);
var container = document.getElementById("SCPlayer");
var iframe = container.getElementsByTagName("iframe");
var widgetIframe = iframe[0],
widget = SC.Widget(widgetIframe);
widget.bind(SC.Widget.Events.READY, function() {
widget.play();
});
widget.bind(SC.Widget.Events.PLAY, function() {
widget.seekTo(seekto);
});
widget.bind(SC.Widget.Events.PLAY_PROGRESS, function() {
widget.getPosition(function(pos) {
seekto = pos;
});
});
}
想法或建议?这似乎有效,但我不是一个有经验的编码员。我欢迎你的意见。