首先,我在我的网站上使用SoundManager,
但我在将其添加到我的网站时遇到问题,为了更好地了解问题,请先查看网站:http://tinyurl.com/8bugpc7
我试图通过网站阻止声音管理器。该网站有点垂直滑块。所以有一个菜单,但所有项目都链接到页面的特定类。音乐链接是第三种选择(第3页)。但是当我添加360音乐播放器时,擦洗条无法正常工作,这意味着无论我在哪个栏上点击它,它都只会到达特定的地方。实际上它不会在我点击的地方播放。
但是当我将播放器移动到第一类(第一页)时,擦洗条正常工作。所以我猜这些以前的类(页面)存在问题。
我花了几个小时但真的无法理解这个问题,任何人都可以为我检查并告诉我有什么问题吗?
如果您需要下载文件,请点击以下链接: http://tinyurl.com/8q83gzu
提前致谢。
答案 0 :(得分:0)
在360player.js中有一个函数叫做:701。寻找:
this.mmh = function(e) {
这里deltaX变量计算错误,很可能是由于您的轮播所产生的偏移。我通过从deltaX变量中减去相同的偏移量来解决页面上的问题。 这是使用伪代码修改它的新函数:
this.mmh = function(e) {
/**
* Here you need to find the offset from the left of the page
* and assign it to a variable. In your case, it is simply the window's
* width multiplied by 2.
*/
offSet = 2 * $(window).width();
if (typeof e === 'undefined') {
e = window.event;
}
var oSound = self.lastTouchedSound,
coords = self.getMouseXY(e),
x = coords[0],
y = coords[1],
/* here you subtract your offset and scrubbing should work again */
deltaX = x-(oSound._360data.canvasMidXY[0]-offSet),
deltaY = y-oSound._360data.canvasMidXY[1],
angle = Math.floor(fullCircle-(self.rad2deg(Math.atan2(deltaX,deltaY))+180));
oSound.setPosition(oSound.durationEstimate*(angle/fullCircle));
self.stopEvent(e);
return false;
};
答案 1 :(得分:0)
我解决了类似的问题(感谢Michael Schmid的灵感!:)与Flexslider轮播。每张幻灯片上都有一个SM2播放器,因此需要减去偏移量。从360player.js中的第702行开始替换该函数,使用:
this.mmh = function(e) {
//Get offset of Flexslider slide to resolve SM2 scrubber issue
var fslide = $(".slides").attr("style").split("translate3d(");
var offSet = fslide[1].substring(0,fslide[1].indexOf("px,"));
if (parseInt(offSet) != 0) {
offSet = parseInt(offSet);
} else {
offSet = 0;
}
if (typeof e === 'undefined') {
e = window.event;
}
var oSound = self.lastTouchedSound,
coords = self.getMouseXY(e),
x = coords[0],
y = coords[1],
// deltaX = x-oSound._360data.canvasMidXY[0],
deltaX = x-(oSound._360data.canvasMidXY[0]+offSet),
deltaY = y-oSound._360data.canvasMidXY[1],
angle = Math.floor(fullCircle-(self.rad2deg(Math.atan2(deltaX,deltaY))+180));
oSound.setPosition(oSound.durationEstimate*(angle/fullCircle));
self.stopEvent(e);
return false;
};
你找到了解决方案Dan?