JavaScript библиотека для проигрывания mp3
Проигрывание mp3 файлов с помощью JavaScript, давно хотел найти такую библиотеку, т.к. flash проигрыватели меня не устраивали по определенным требованиям функциональности, и в одном из последних проектов сам заказчик помог мне в этом. Ну конечно же проигрывание музыки с помощью чистого JS не возможно, поэтому в данной библиотеке используется flash объекты, но все манипуляции с аудио файлами происходят через API JS библиотеки.
Представляю вашему вниманию библиотеку
Детально я рассматривать её возможности не буду т.к. в ней имеется множество методов и функций,
все это хорошо описано в
Пример работы:
Вы можете открыть пример в новом окне.
Базовые возможности библиотеки (Flash 8+):
- Загрузка, проигрывание, остановка, пауза, отключение и настройка громкости звука через JavaScript
- События: загрузка, проигрывание, остановка и т.п.
- Поддержка тегов формата mp3 (title, artist, genre и т.д.)
При использовании Flash 9 и выше можно добавить:
- Поддержка MPEG-4 video и audio
- Проигрывание нескольких дорожек
- Частотные данные
- зменение громкости по каналам L/R
- Буферизация аудио
Еще несколько плюсов:
- Хорошая API документация с примерами и заметками
- Возможность дебагинга с помощью console.log()
з предоставленного мной примера можно заметить, что библиотека обладает хорошей функциональностью (и это маленькая часть которую я решил показать). Все события стандартного управления я повесил на HTML элементы, что позволяет применять к элементам любые стили, и дает дизайнерам безграничные возможности ;) которые вы можете легко передать через CSS. Единственное
что мне не понравилось – скрипт работает только на сервере… хотя это не так и важно.
Код примера:
<script type="text/javascript">
var mySound = {};
var positionStep = 2000; // шаг для прокрутки 2сек
soundManager.url = 'swf/soundmanager2.swf'; // url swf файла
// инициализируем soundManager
soundManager.onload = function() {
var _r = document.getElementById('graphPixels'); // индикатор позиции проигрывания
// создаем объект аудио файла!
mySound = soundManager.createSound({
id: 'aSound',
url: 'inc/Sting-Fields_of_gold.mp3', // url mp3 файла
volume: 20, // громкость воспроихводимого файла
autoLoad: true,
whileplaying: function() {
// функция генерирующая длину для индикатора позиции
var _procent = Math.round(this.position/this.duration * 100);
_r.style.width = _procent + '%';
},
onstop: function(){
// обнуление длины индикатора позиции
_r.style.width = 0 + '%';
}
});
}
// Промотка вперед на 2сек
function next() {
mySound.position += positionStep;
if (mySound.position > mySound.duration) mySound.position = mySound.duration;
mySound.setPosition(mySound.position);
}
// Промотка назад на 2сек
function prev() {
mySound.position -= positionStep;
if (mySound.position < 0) mySound.position = 0;
mySound.setPosition(mySound.position);
}
// Громкость
function setVolume(_vol){
mySound.setVolume(_vol*10)
var _ol = document.getElementsByTagName('ol')[0];
var _a = _ol.getElementsByTagName('a');
for (var i=0; i < _a.length; i++) {
if (i < _vol) _a[i].className = 'active';
else _a[i].className = '';
}
}
</script>
HTML код примера:
<div id="graphPixels"> </div>
</div>
<ul>
<li><input type="button" onclick="prev();" value="<<" /></li>
<li><input type="button" onclick="mySound.play();" value="Start" class="start" /></li>
<li><input type="button" onclick="mySound.togglePause();" value="Pause" /></li>
<li><input type="button" onclick="mySound.stop();" value="Stop" /></li>
<li><input type="button" onclick="next();" value=">>" /></li>
</ul>
<ol>
<li>Громкость:</li>
<li><a href="#" onclick="setVolume(1)" class="active">10</a></li>
<li><a href="#" onclick="setVolume(2)" class="active">20</a></li>
<li><a href="#" onclick="setVolume(3)">30</a></li>
<li><a href="#" onclick="setVolume(4)">40</a></li>
<li><a href="#" onclick="setVolume(5)">50</a></li>
<li><a href="#" onclick="setVolume(6)">60</a></li>
<li><a href="#" onclick="setVolume(7)">70</a></li>
<li><a href="#" onclick="setVolume(8)">80</a></li>
<li><a href="#" onclick="setVolume(9)">90</a></li>
<li><a href="#" onclick="setVolume(10)">100</a></li>
</ol>
3 Коментариев to JavaScript библиотека для проигрывания mp3
Оставить сообщение
Метки
Рубрики
- Browsers (2)
- CSS (2)
- HTML (6)
- JavaScript (30)
- jQuery (17)
- JS Plugins (21)
- Mootools (3)
- off-topic (2)
- Prototype (1)
- WordPress (1)
- WP Plugins (1)
- Верстка (2)
- Методики (5)
- Полезные ссылки (6)
Респект!
Продолжение будет?
Были бы признательны :-)
только ссылки на регулировке громкости нужно бы с якорей сменить