Гибкий плейлист [1.0]
Автор: werewolf   
06.04.2010 15:26

Код гибкого плейлиста для воспроизведения фоновой музыки.

Огромное спасибо Byte за помощь в доработке.
Идея возникла в ходе работы по озвучке "Лабиринта страха", поскольку все скрипты плейлистов, которые я нашел, были недостаточно гибкими - по сути любой скрипт нужно было полностью переделывать под себя.
После ряда эксперементов у меня получилось сделать код, который можно использовать в любом проекте.
В основе плейлиста лежит понятие темы - списка файлов, которые проигрываются один за другим. Количество тем в игре и файлов в теме не ограничено. Плейлист также запоминает текущий файл в теме при смене темы и при выключении музыки. Поддерживаеться изменение громкости.

Для использования плейлиста в игре нужно сделать следующее:

  1. В локацию-счетчик добавить код плеера (весь код из локации counter)
  2. Сделать списки файлов в темах. Для этого нужно для каждой темы создать маcсив с именем $tracklist_название темы. То есть для темы default название массива должно быть $tracklist_default. Примеры списков можно найти в локации init_music.
  3. Осталось только включить музыку и инициировать тему. Для этого в код добавляем
    music_on=1
    volume = 100
    $music_theme = 'default'

Переменная music_on отвечает за включение/выключение плейлиста. Выключить плейлист можно также с помощью $music_theme = ''.
С помощью переменной volume изменяется громкость проигрывания.
В переменной $music_theme храниться название текущей темы. При ее изменении останавливается проигрывание текущей темы (при этом запоминается файл, на котором было остановлено проигрывание) и начинается прогрывание следующей.

Вложения:
Скачать этот файл (playlist.zip)playlist.zip[ ]42 Kb06.04.2010 15:27