10.12.2011, 11:26
(
Last edited by jhonyxakep; 11/03/2012 at 01:38 AM.
Reason: Новая версия
)
Server Broadcaster
Версия 1.6.0Автор: jhonyxakep (Андрей Недобыльский)
Mail:jhonyxakep@qip.ru
ICQ:354794596
Jabber:jhonyxakep@qip.ru
Описание:
Плагин позволяет превратить сервер SA:MP в полноценную интернет радиостанцию
Работает на подобии Icecast/Shoutcast серверов.
Плагин использует библиотеку BASS (un4seen.com) для воспроизведения и вещания звука.
Установка:
Положите файлы из папки plugins в папку plugins на сервере.
Windows:
В связи с особенностями сервера, файлы из папки system\win\ надо поместить в корневой каталог сервера (те там, где samp-server.exe) или в системный каталог system32.
*nix:
Файлы из папки system\nix\ надо положить в одну из папок /lib на сервере (/lib, /usr/lib, /usr/local/lib), однако рекомендую во все.
Пропишите плагин в секции plugins в конфиге SA:MP.
Для работы с функциями плагина подключите файл radio.inc к вашему скрипту.
Для *nix систем нужен установленный stdin/stdout энкодер (напирмер для вещания mp3 требуется Lame. Установка Lame для Debian/Ubuntu apt-get install lame)
Использование:
Функции плагина:
PlaySoundFileToStream(file[]); - Добавляет файл в эфир
PlaySoundUrlToStream(file[]); - Добавляет радиостанцию или удаленный файл в эфир
IsServerActive(); - возвращает true если сервер запущен, false если сервер остановлен
StopPlaying(); - удаляет текущий файл из эфира
SoundServerStart(commandline[],port[]); - Запускает сервер
SoundServerStop(); - Останавливает сервер
KickListener(listener[]); - кикает слушателя с сервера с последующим вызовом OnListenerDisconnect
SetStationNameURL(name[],URL[]); - Изменяет название и ссылку на сайт станции
Для запуска сервера вещания используется функция SoundServerStart.
Первый параметр функции – командная строка для запуска кодера. Если вы хотите использовать формат MP3, то вставьте строку "lame -r -s 44100 -b 128 –"
Где 128 это количество кбит/сек, которое вы хотите использовать для вещания. Если вам понадобится использовать другой формат вещания, вы можете взять любой кодер, поддерживающий принятие данных с stdin.
Второй аргумент – порт на котором надо вещать, или ip адрес, на который будет привязан сервер(если у вас несколько сетевых интерфейсов):
Например для запуска сервера на 8000 порту используйте "8000"
Для привязки сервера к адресу 127.0.0.1 используйте "127.0.0.1:8000"
После запуска сервера надо добавить файл в эфир, функцией PlaySoundFileToStream/PlaySoundUrlToStream.
Параметр file это путь до MP3, OGG, WAV, AIFF файла, который будет воспроизведен в эфире.
ВНИМАНИЕ! Добавлять новый файл в эфир стоит только после окончания предыдущего файла ИЛИ после вызова функции StopPlaying, иначе слушать одновременно несколько песен будет не очень приятно

Функция SoundServerStop останавливает сервер.
Колбеки:
OnSoundFileEnd(); - Вызывается когда достигнут конец текущего файла, или воспроизведение дальше невозможно
OnListenerConnect(listener[],path[]); - При подключении слушателя. Аргумент listener содержит в себе IP адрес и порт слушателя, path cодержит путь до файла открываемый слушателем.
OnListenerDisonnect(listener[]); - при отсключении слушателя. Аргумент listener содержит в себе IP адрес и порт слушателя
Плагин будет еще обновляться, и наполнятся функциями.
Внутри архива присутствует исходной код, демонстрационный FilterScript, и плагины
Закачка:
в прикреплении