Управление громкостью проигрывателя виджетов HTML5 в Soundcloud
Я пытался использовать пример, приведенный на этой странице блога Soundcloud, чтобы снизить громкость. http://developers.soundcloud.com/blog/html5-widget-api
Я только изменил размер iframe и src= в свой плейлист и установил. Объем на 10, чтобы я мог заметить разницу, если это сработало. Пока без изменений объем по-прежнему на 100%
Я попробовал это с и без размещения следующего в заголовке моего шаблона. Кажется, не имеет значения.
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
Вот код, который я настроил на примере Soundcloud:
<iframe id="sc-widget" width="350" height="332" scrolling="no" frameborder="no" src="http://w.soundcloud.com/player/?url=http%3A%2F%2Fapi.soundcloud.com%2Fplaylists%2F1417174&auto_play=true&show_artwork=false&color=37415f"></iframe>
<script src="http://w.soundcloud.com/player/api.js" type="text/javascript"></script>
<script type="text/javascript">
(function(){
var widgetIframe = document.getElementById('sc-widget'),
widget = SC.Widget(widgetIframe);
widget.bind(SC.Widget.Events.READY, function() {
widget.bind(SC.Widget.Events.PLAY, function() {
// get information about currently playing sound
widget.getCurrentSound(function(currentSound) {
console.log('sound ' + currentSound.get('') + 'began to play');
});
});
// get current level of volume
widget.getVolume(function(volume) {
console.log('current volume value is ' + volume);
});
// set new volume level
widget.setVolume(10);
});
}());
</script>
Вот сайт Joomla, где этот код живёт. http://mediaservicesnyc.com/
Может кто-нибудь, пожалуйста, помогите мне понять, чего мне не хватает для регулировки громкости.
Это конфликт JQuery? Если так, есть какие-нибудь мысли о том, как решить это?
С уважением, Эрик
2 ответа
Диапазон громкости на самом деле от 0 до 1, это неправильно указано в документации. Так что, если вы хотите установить громкость на 10%, вам нужно это:
var widgetIframe = document.getElementById('sc-widget'),
widget = SC.Widget(widgetIframe);
widget.setVolume(0.1);
Предыдущий ответ уже не точен. Api setVolume() был исправлен / изменен и теперь принимает int от 0 до 100.
Я наткнулся на этот вопрос, пытаясь быстро изменить громкость встроенного iframe SoundCloud с помощью хромированной консоли. Я создал быстрый смысл для себя. https://gist.github.com/propagated/78aaedfbc0c23add7691bb975b51a3ff
//load soundcloud js api if needed
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = 'http://w.soundcloud.com/player/api.js';
document.head.appendChild(script);
//get the id of the player iframe or inject it using chrome
var id = 'scplayer',
widgetIframe = document.getElementById(id),
fixWidget = SC.Widget(widgetIframe);
fixWidget.setVolume(50); //% between 1 and 100