Скрипт плеера Soundcloud неожиданно сломался

Я работал над небольшим плеером Soundcloud, и он отлично работал несколько дней, до сегодняшнего дня. Теперь он не загружает звук. Веб-консоль говорит:

TypeError: SC.streamStopAll is not a function

Я использовал это, чтобы остановить все воспроизводимые звуки. Если я уберу его, звуки загружаются. Но мне нужен способ остановить все звуки. Я не вносил изменений в код, что-то изменилось на стороне SC или SoundManager?

Любая идея, что происходит и как я могу это исправить?


person worksAsIntended    schedule 25.11.2013    source источник
comment
хорошо, это работало вчера и большую часть сегодняшнего дня. но потом они пошли вперед и сломали его снова. Я не понимаю, что они делают, но это не очень круто. вот новая ошибка: GET connect.soundcloud.com/soundmanager2/ Запрошенный URL был не найдено на этом сервере.   -  person jpod    schedule 28.11.2013
comment
Да, это немного расстраивает. :( Я также заметил, что он загружает и аудиоменеджер, и звуковой менеджер (хотя ресурсы звукового менеджера 404).   -  person worksAsIntended    schedule 28.11.2013


Ответы (4)


Я проверил репозиторий github:

https://github.com/soundcloud/soundcloud-javascript/commit/3ee64f9a9864078348a445a39a3b3b

Они удалили soundmanager и заменили его audiomanager. Но официальной документации об этом новом аудиоплеере нет. Также забавно, что они не адаптировали другие методы API, которые возвращают URL-адреса потоков.

Теперь использует: /tracks/:track_id/streams

Но при загрузке данных трека с помощью

SC.get('/resolve', "SC_URL", function(){})

У него все еще есть /tracks/:track_id/stream в свойстве stream_url.

И документация по API также относится к soundmanager.

person Rafael Dery    schedule 26.11.2013

Джаваскрипт-плеер SoundCloud сейчас не работает. Для каждого. Даже на сайте разработчиков SoundCloud.

person Steven Sacks    schedule 26.11.2013
comment
Полезно знать, прежде чем я сойду с ума, пытаясь это исправить. :) Большое спасибо. - person worksAsIntended; 26.11.2013

Метод SC.stream подготовит звуковой объект soundManager2 для переданного трека.

попробуй: стоп все()

http://www.schillmania.com/projects/soundmanager2/doc/

http://developers.soundcloud.com/docs/api/sdks#javascript частичная потоковая передача

person COLAS Korlan    schedule 25.11.2013
comment
Спасибо за ваш ответ. Я уже пробовал SC.stream.stopAll(), но, к сожалению, получаю ту же ошибку (не функцию). Это очень странно, так как мой код вообще не изменился, а плеер просто перестал работать. Какие-нибудь мысли? - person worksAsIntended; 26.11.2013
comment
Кроме того, я загружаю SDK с сайта SC и позволяю ему самостоятельно загружать SoundManager. - person worksAsIntended; 26.11.2013
comment
Что ж, из нескольких других подобных вопросов, только что опубликованных (плееры внезапно перестали работать без какого-либо изменения кода), может быть, это общая проблема? - person worksAsIntended; 26.11.2013

По-видимому, библиотека SoundManager2 была удалена и заменена AudioManager для поддержки потоковой передачи RTMP. См. этот коммит: https://github.com/soundcloud/soundcloud-javascript/commit/3ee64f9a9864b78ac348a3451 .

person Kukiwon    schedule 26.11.2013