Как стать автором
Обновить

Программное управление FLV

Время на прочтение2 мин
Количество просмотров2K

Здравствуйте.


Программное управление FLV видео можно осуществить при помощи NetStream.

Для начала создадим в библиотеке новый символ — видео. Далее перетаскиваем его на сцену и этот пустой квадратик будет служить нашим контейнером куда мы будем загружать наша видео. Устанавливаем его размеры соответственно размерам видео, которое собираемся проигрывать. Назовем символ videoContainer.

В кадре пишем:

var nс:NetConnection = new NetConnection(); // Создаем объект NetConnection:
nс.connect(null); // Активируем соединение
var ns:NetStream = new NetStream(nс); // Создаем объект NetStream
videoContainer.attachVideo(nc); // Прикрепляем видео к нашему контейнеру
ns.play("video.flv"); // Путь к файлу и сразу начинаем проигрывать.


Функции для работы с видео:

  • NetStream.play(«имя_файла») — Имя и путь к файлу.
  • NetStream.close() — останавливает загрузку файла.
  • NetStream.pause() — ставит(true)/снимает(false) паузу.
  • NetStream.seek(секунды) — Перематывает видео на нужное количество секунд вперед. Отчет видеться с начала видео.
  • NetStream.setBufferTime(секунды) — устанавливает вместимость буфера — сколько секунд видео загрузится до того, как оно запустится на экране.
  • NetStream.bufferLength — [только чтение] — кол-во загруженных секунд видео в буфер.
  • NetStream.bufferTime — [только чтение] — показывает вместимость буфера (которую можно менять командой.
  • NetStream.setBufferTime(кол-во секунд)). По умолчанию = 0.1 секунды.
  • NetStream.bytesLoaded — [только чтение] — сколько байт видео уже загружено.
  • NetStream.bytesTotal — [только чтение] — сколько всего байт в загружаемом видео.
  • NetStream.currentFps — [только чтение] — с какой частотой (сколько кадров в секунду) воспроизводится видео.
  • NetStream.time — [только чтение] — текущая позиция видео, в секундах.
  • NetStream.onStatus — событие, несущее информацию о состоянии объекта NetStream
.

Пример использования onStatus:

NetStream.onStatus = function(infoObject)
{
status.text += "Status (NetStream)" + newline;
status.text += "Level: "+infoObject.level + newline;
status.text += "Code: "+infoObject.code + newline;
};


Варианты событий:
  • code = NetStream.Buffer.Empty, level = Status — дата загружается недостаточно быстро, чтобы заполнить буфер. Когда произойдет заполениние буфера и придет статус NetStream.Buffer.Full, проигрывание будет продолжено.
  • code = NetStream.Buffer.Full, level = Status — буфер полон, поток запущен
  • code = NetStream.Play.Start = Status — проигрывание началось
  • code = NetStream.Play.Stop = Status — проигрывание остановлено
  • code = NetStream.Play.StreamNotFound = Error — неудача. Пропускаем play() (Возможно, поток уже занят)


Далее можно создать пару кнопок, прописать в них событие воспроизведения и остановки и наш проигрыватель готов.
Также видео можно синхронизировать с timeline'ом и управлять им или просто подгрузить через setMedia(); Вроде все.
Теги:
Хабы:
Всего голосов 13: ↑8 и ↓5+3
Комментарии2

Публикации