External Playlist

From Ace Stream Wiki
Jump to: navigation, search

Если вы хотите показывать плейлист на странице, вы можете использовать внешний плейлист (плейлист, который можно разместить в любом месте на странице, используя стандартный html). Удобно для быстрого переключения между каналами, например.

Пример внешнего плейлиста вы можете посмотреть здесь: http://torrentstream.org/test/test_playlist.html

Сначала вам необходимо загрузить нашу библиотеку javascript:

<script type="text/javascript" src="http://static.torrentstream.org/jsapi/js/lib/ts/core.js"></script>
<script type="text/javascript" src="http://static.torrentstream.org/jsapi/js/lib/ts/player.js"></script>

Мы периодически обновляем библиотеку javascript, поэтому рекомендуем загружать javascript файлы с наших серверов, а не хранить их на ваших серверах.

Затем вам необходимо создать плеер:

player = new TorrentStream.Player(document.getElementById("player"), {
        useInternalControls: true,
        onLoad: function() {
            this.loadTorrent("http://94.242.221.195:7773/file?name=%D0%A2%D0%9D%D0%A2", {async: false});
            this.loadTorrent("http://94.242.221.195:7764/file?name=%D0%9F%D0%B5%D1%80%D0%B2%D1%8B%D0%B9+%D0%BA%D0%B0%D0%BD%D0%B0%D0%BB", {async: false});
            this.loadTorrent("http://94.242.221.195:7802/file?name=Discovery+Channel", {async: false});
            this.loadTorrent("http://94.242.221.195:7771/file?name=%D0%A1%D0%BF%D0%BE%D1%80%D1%82+1", {async: false});
            this.loadTorrent("http://94.242.221.195:7805/file?name=%D0%A1%D0%A2%D0%A1", {async: false});
        }
});

Конструктор плеера принимает два параметра: TorrentStream.Player(container, config)

  • container - html элемент, который будет использован как контейнер плеера
  • config - объект с дополнительными параметрами конфигурации

В данном примере мы используем следующие опции:

  • useInternalControls: показывать панель управления внутри окна плагина
  • onLoad: эта функция вызывается, когда плагин закончил загрузку и готов к использованию

При возврате onLoad мы загружаем пять каналов в плейлист, используя метод плеера loadTorrent.

Если плагин не установлен, выбрасывается исключение "plugin_not_installed". Вы можете перехватить это исключение и показать какое-нибудь сообщение пользователю. Например, так:

try {
    player = new TorrentStream.Player(...);
}
catch(e) {
    if(e == "plugin_not_installed") {
        document.getElementById("message").innerHTML = "Плагин не установлен. Установить <a href=\"http://dl.torrentstream.org/products/torrentstream-full/win/latest\" target=\"_blank\">здесь</a>";
    }
    else {
        alert(e);
    }
}

Затем создайте внешний плеер:

<div class="playlist-item" onclick="playChannel(0);">ТНТ</div>
<div class="playlist-item" onclick="playChannel(1);">Первый канал</div>
<div class="playlist-item" onclick="playChannel(2);">Discovery Channel</div>
<div class="playlist-item" onclick="playChannel(3);">Спорт 1</div>
<div class="playlist-item" onclick="playChannel(4);">СТС</div>

Нажатие на пунктах плейлиста производится функцией playChannel():

function playChannel(playlistIndex) {
    if(!player) {
        alert("Player is not loaded");
        return;
    }
    player.play(playlistIndex);
}

Эта функция проверяет, существует ли плеер, а потом вызывает метод play(), который принимает первый пункт плейлиста как первый аргумент.