2012-10-28 45 views
0

首先,我在我的網站使用SoundManager類的,SoundManager類,磨砂條,無法正常工作

但是我有一個問題,它添加到我的網站,所以要理解這個問題更好,請查詢網站第一:http://tinyurl.com/8bugpc7

我想通過網站阻礙健全的經理。該網站是有點垂直滑塊。所以有一個菜單,但所有項目都鏈接到特定的頁面類。音樂鏈接是第三種選擇(第3頁)。但是當我添加360音樂播放器時,擦洗棒無法正常工作,這意味着無論我點擊欄上的哪個位置,它都只會到達特定位置。其實它不會播放我點擊的地方。

但是當我把玩家移到第一堂課(第一頁)時,磨砂棒工作正常。所以我猜這些以前的課程(頁面)存在問題。

我花了幾個小時,但真的不能理解這個問題,任何人都可以爲我檢查並告訴我什麼是錯的?

如果您需要下載的文件,這裏是鏈接: http://tinyurl.com/8q83gzu

在此先感謝。

+0

所以沒有任何解決方案? – Dan

回答

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; 
}; 
0

我解決了類似的問題(感謝邁克爾·施密德爲靈感:)與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?