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

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


    Программное управление 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(); Вроде все.
    Поделиться публикацией

    Комментарии 2

      0
      Минус топику.
      В каком кадре, что вы пишете? Это даже не AS2.

      Чем это статья отличается от хелпа по седьмому флешу?
        0
        я в свое время просмотрел серию видео уроков «Flash Video Basics» на gotoandlearn.com

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

        Самое читаемое