Можно отслеживать активность NetStream для сбора информации, необходимой для поддержки анализа данных и отчетности по использованию мультимедийного содержимого. Возможности отслеживания, о которых пойдет речь в этом разделе, позволяют создавать библиотеки оценки использования мультимедийного содержимого, которые собирают данные, не требуя тесной связи с определенным видеопроигрывателем, используемым для воспроизведения содержимого. Благодаря этому разработчики клиентских приложений смогут выбирать любые видеопроигрыватели при использовании такой библиотеки. Используйте класс NetMonitor для отслеживания создания и активности объектов NetStream в приложении. Класс NetMonitor предоставляет список активных объектов NetStream, существующих в данное время, а также отправляет событие, когда создается объект NetStream.
Объект NetStream отправляет события, перечисленные в следующей таблице, в зависимости от типа воспроизводимого мультимедийного содержимого.
Событие
|
Последовательная загрузка
|
Воспроизведение RTMP-потока
|
Воспроизведение HTTP-потока
|
NetStream.Play.Start
|
Да
|
Да
|
Нет
|
NetStream.Play.Stop
|
Да
|
Да
|
Нет
|
NetStream.Play.Complete
|
Да
|
Да
|
Нет
|
NetStream.SeekStart.Notify
|
Да
|
Да
|
Да
|
NetStream.Seek.Notify
|
Да
|
Да
|
Да
|
NetStream.Unpause.Notify
|
Да
|
Да
|
Да
|
NetStream.Unpause.Notify
|
Да
|
Да
|
Да
|
NetStream.Play.Transition
|
Неприменимо
|
Да
|
Неприменимо
|
NetStream.Play.TransitionComplete
|
Неприменимо
|
Да
|
Неприменимо
|
NetStream.Buffer.Full
|
Да
|
Да
|
Да
|
NetStream.Buffer.Flush
|
Да
|
Да
|
Да
|
NetStream.Buffer.Empty
|
Да
|
Да
|
Да
|
Объект NetStreamInfo, связанный с экземпляром NetStream, также сохраняет последние объекты метаданных и данных XMP, обнаруженные в мультимедийном содержимом.
Когда мультимедийное содержимое воспроизводится HTTP-потоком, события NetStream.Play.Start, NetStream.Play.Stop и NetStream.Play.Complete не отправляются, так как приложение полностью управляет потоком мультимедиа. Видеопроигрыватель должен формировать и отправлять эти события для HTTP-потоков.
Подобным образом, события NetStream.Play.Transition и NetStream.Play.TransitionComplete не отправляются ни для последовательной загрузки, ни для мультимедийного HTTP-потока. Динамическое переключение скорости передачи данных является функцией RTMP-потока. Если видеопроигрыватель, использующий HTTP-поток, поддерживает подобную функцию, он может формировать и отправлять события перехода.