2013-11-26 16 views
3

У нас возникли проблемы с функцией setVolume при использовании API Javascript SoundCloud.SoundCloud API: setVolume on audiomanager.js

След:

Uncaught IndexSizeError: Индекс или размер был отрицательным, или больше, чем допустимое значение. audiomanager.js: 2 HTML5AudioPlayer.setVolume

Мы вызываем эту функцию на звуковом объекте, как обычно, и значения, которые мы передаем, находятся между 0 и 100, которые являются точными.

Проблема началась несколько часов назад, и мы не внесли никаких изменений в наш код, поэтому кажется, что версия аудиомастера, которую мы извлекаем из soundcloud, изменилась сегодня.

Любая идея?

Благодаря

+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