2013-11-26 64 views
3

我們在使用SoundCloud Javascript API時遇到setVolume函數問題。SoundCloud API:audiomanager.js上的setVolume

跟蹤:

未捕獲IndexSizeError:索引或大小爲負,或大於允許的值。 audiomanager.js:2 HTML5AudioPlayer.setVolume

我們像往常一樣在聲音對象上調用該函數,並且傳遞給的值在0到100之間,這些值被指定爲正確的。

問題發生在幾個小時前,我們沒有對代碼進行任何更改,所以我們今天從soundcloud檢索的audiomanager版本似乎已經發生了變化。

有什麼想法?

謝謝

+0

我假設你是指SoundManager? – idbehold

回答

3

好像SoundCloud的JavaScript SDK已經改變了一夜。我正面臨類似的問題。 SDK現在使用HTML5AudioPlayer對象來流式傳輸曲目。至於你的問題,我注意到音量值需要在0到1之間,而在「舊」版本中與0和100相反。所以一定要撥打sound.setVolume(0.5)而不是sound.setVolume(50)。此外,「whileplaying」事件不再發射。

SoundCloud在將來更新他們的文檔/通知開發人員有關SDK更改方面會很好。與此同時,我正在尋找https://connect.soundcloud.com/audiomanager/audiomanager.js尋找我的問題的答案。

+0

顯然,SoundManager2庫已被刪除,並被替換爲AudioManager以支持RTMP流式傳輸。看到這個提交:https://github.com/soundcloud/soundcloud-javascript/commit/3ee64f9a9864078348a445a51a3b133933ac74b1。 – Kukiwon

+1

目前他們已經刪除了[audiomanager.js](https://connect.soundcloud.com/audiomanager/audiomanager.js)並將[soundmanager2.js](http://connect.soundcloud.com/soundmanager2 /soundmanager2.js)(大約一個小時前用404響應)。迫不及待地想知道他們的計劃是什麼 - 現在很多第三方的玩家如[Stratus 2](http://stratus.sc/)都因此而破碎。 – jibiel

+0

謝謝你們。正如@jibiel所說,現在它帶來了soundmanager2.js,而不是audiomanager.js。我試圖在調用流功能之後重現曲目,如下所述:http://developers.soundcloud.com/docs/api/guide#playing。顯然,我在回調函數中接收聲音對象,但在該對象上調用play()似乎沒有任何效果。正如我之前所說,我們這邊的代碼沒有做任何修改,而且幾個月來一直運行良好。有人有任何更新嗎?文檔尚未更新。 – drenzulli