Справочник по ActionScript® 3.0 для платформы Adobe® Flash®
Домашняя страница  |  Скрыть список пакетов и классов |  Пакеты  |  Классы  |  Что нового  |  Указатель  |  Приложения  |  Почему по-английски?
Фильтры: AIR 30.0 или более ранней версии, Flash Player 30.0 или более ранней версии, Flash Lite 4
Flex 4.6 или более ранней версии, Flash Pro CS6 или более ранней версии
Скрыть фильтры
flash.net 

NetStream  - AS3

Пакетыx

Верхний уровень
adobe.utils
air.desktop
air.net
air.update
air.update.events
coldfusion.air
coldfusion.air.errors
coldfusion.air.events
coldfusion.service
coldfusion.service.events
coldfusion.service.mxml
com.adobe.acm.solutions.authoring.domain.extensions
com.adobe.acm.solutions.ccr.domain.extensions
com.adobe.consulting.pst.vo
com.adobe.dct.component
com.adobe.dct.component.datadictionary
com.adobe.dct.component.datadictionaryElement
com.adobe.dct.component.dataElementsPanel
com.adobe.dct.component.toolbars
com.adobe.dct.event
com.adobe.dct.exp
com.adobe.dct.model
com.adobe.dct.service
com.adobe.dct.service.provider
com.adobe.dct.transfer
com.adobe.dct.util
com.adobe.dct.view
com.adobe.ep.taskmanagement.domain
com.adobe.ep.taskmanagement.event
com.adobe.ep.taskmanagement.filter
com.adobe.ep.taskmanagement.services
com.adobe.ep.taskmanagement.util
com.adobe.ep.ux.attachmentlist.component
com.adobe.ep.ux.attachmentlist.domain
com.adobe.ep.ux.attachmentlist.domain.events
com.adobe.ep.ux.attachmentlist.domain.renderers
com.adobe.ep.ux.attachmentlist.skin
com.adobe.ep.ux.attachmentlist.skin.renderers
com.adobe.ep.ux.content.event
com.adobe.ep.ux.content.factory
com.adobe.ep.ux.content.handlers
com.adobe.ep.ux.content.managers
com.adobe.ep.ux.content.model.asset
com.adobe.ep.ux.content.model.preview
com.adobe.ep.ux.content.model.relation
com.adobe.ep.ux.content.model.search
com.adobe.ep.ux.content.model.toolbar
com.adobe.ep.ux.content.search
com.adobe.ep.ux.content.services
com.adobe.ep.ux.content.services.load
com.adobe.ep.ux.content.services.permissions
com.adobe.ep.ux.content.services.preview
com.adobe.ep.ux.content.services.providers
com.adobe.ep.ux.content.services.query
com.adobe.ep.ux.content.services.relationships
com.adobe.ep.ux.content.services.search.lccontent
com.adobe.ep.ux.content.services.version
com.adobe.ep.ux.content.view
com.adobe.ep.ux.content.view.components.activate
com.adobe.ep.ux.content.view.components.grid
com.adobe.ep.ux.content.view.components.grid.hover
com.adobe.ep.ux.content.view.components.grid.hover.component
com.adobe.ep.ux.content.view.components.grid.renderers
com.adobe.ep.ux.content.view.components.relationships
com.adobe.ep.ux.content.view.components.review
com.adobe.ep.ux.content.view.components.search.renderers
com.adobe.ep.ux.content.view.components.searchpod
com.adobe.ep.ux.content.view.components.toolbar
com.adobe.ep.ux.content.view.components.toolbar.controlRenderers
com.adobe.ep.ux.content.view.components.version
com.adobe.ep.ux.documentsubmit.component
com.adobe.ep.ux.documentsubmit.domain
com.adobe.ep.ux.documentsubmit.skin
com.adobe.ep.ux.taskaction.component
com.adobe.ep.ux.taskaction.domain
com.adobe.ep.ux.taskaction.domain.events
com.adobe.ep.ux.taskaction.skin
com.adobe.ep.ux.taskdetails.component
com.adobe.ep.ux.taskdetails.domain
com.adobe.ep.ux.taskdetails.skin
com.adobe.ep.ux.tasklist.component
com.adobe.ep.ux.tasklist.domain
com.adobe.ep.ux.tasklist.skin
com.adobe.ep.ux.webdocumentviewer.domain
com.adobe.exm.expression
com.adobe.exm.expression.error
com.adobe.exm.expression.event
com.adobe.exm.expression.impl
com.adobe.fiber.runtime.lib
com.adobe.fiber.services
com.adobe.fiber.services.wrapper
com.adobe.fiber.styles
com.adobe.fiber.util
com.adobe.fiber.valueobjects
com.adobe.gravity.binding
com.adobe.gravity.context
com.adobe.gravity.flex.bundleloader
com.adobe.gravity.flex.progress
com.adobe.gravity.flex.serviceloader
com.adobe.gravity.framework
com.adobe.gravity.init
com.adobe.gravity.service.bundleloader
com.adobe.gravity.service.logging
com.adobe.gravity.service.manifest
com.adobe.gravity.service.progress
com.adobe.gravity.tracker
com.adobe.gravity.ui
com.adobe.gravity.utility
com.adobe.gravity.utility.async
com.adobe.gravity.utility.error
com.adobe.gravity.utility.events
com.adobe.gravity.utility.factory
com.adobe.gravity.utility.flex.async
com.adobe.gravity.utility.logging
com.adobe.gravity.utility.message
com.adobe.gravity.utility.sequence
com.adobe.gravity.utility.url
com.adobe.guides.control
com.adobe.guides.domain
com.adobe.guides.i18n
com.adobe.guides.spark.components.skins
com.adobe.guides.spark.components.skins.mx
com.adobe.guides.spark.headers.components
com.adobe.guides.spark.headers.skins
com.adobe.guides.spark.layouts.components
com.adobe.guides.spark.layouts.skins
com.adobe.guides.spark.navigators.components
com.adobe.guides.spark.navigators.renderers
com.adobe.guides.spark.navigators.skins
com.adobe.guides.spark.util
com.adobe.guides.spark.wrappers.components
com.adobe.guides.spark.wrappers.skins
com.adobe.guides.submit
com.adobe.icc.dc.domain
com.adobe.icc.dc.domain.factory
com.adobe.icc.editors.events
com.adobe.icc.editors.handlers
com.adobe.icc.editors.managers
com.adobe.icc.editors.model
com.adobe.icc.editors.model.config
com.adobe.icc.editors.model.el
com.adobe.icc.editors.model.el.operands
com.adobe.icc.editors.model.el.operators
com.adobe.icc.enum
com.adobe.icc.external.dc
com.adobe.icc.obj
com.adobe.icc.services
com.adobe.icc.services.category
com.adobe.icc.services.config
com.adobe.icc.services.download
com.adobe.icc.services.export
com.adobe.icc.services.external
com.adobe.icc.services.formbridge
com.adobe.icc.services.fragmentlayout
com.adobe.icc.services.layout
com.adobe.icc.services.letter
com.adobe.icc.services.locator
com.adobe.icc.services.module
com.adobe.icc.services.render
com.adobe.icc.services.submit
com.adobe.icc.services.user
com.adobe.icc.token
com.adobe.icc.vo
com.adobe.icc.vo.render
com.adobe.icomm.assetplacement.controller
com.adobe.icomm.assetplacement.controller.utils
com.adobe.icomm.assetplacement.data
com.adobe.icomm.assetplacement.model
com.adobe.livecycle.assetmanager.client
com.adobe.livecycle.assetmanager.client.event
com.adobe.livecycle.assetmanager.client.handler
com.adobe.livecycle.assetmanager.client.managers
com.adobe.livecycle.assetmanager.client.model
com.adobe.livecycle.assetmanager.client.model.cms
com.adobe.livecycle.assetmanager.client.service
com.adobe.livecycle.assetmanager.client.service.search
com.adobe.livecycle.assetmanager.client.service.search.cms
com.adobe.livecycle.assetmanager.client.utils
com.adobe.livecycle.content
com.adobe.livecycle.rca.model
com.adobe.livecycle.rca.model.constant
com.adobe.livecycle.rca.model.document
com.adobe.livecycle.rca.model.participant
com.adobe.livecycle.rca.model.reminder
com.adobe.livecycle.rca.model.stage
com.adobe.livecycle.rca.service
com.adobe.livecycle.rca.service.core
com.adobe.livecycle.rca.service.core.delegate
com.adobe.livecycle.rca.service.process
com.adobe.livecycle.rca.service.process.delegate
com.adobe.livecycle.rca.token
com.adobe.livecycle.ria.security.api
com.adobe.livecycle.ria.security.service
com.adobe.mosaic.layouts
com.adobe.mosaic.layouts.dragAndDrop
com.adobe.mosaic.layouts.interfaces
com.adobe.mosaic.mxml
com.adobe.mosaic.om.constants
com.adobe.mosaic.om.events
com.adobe.mosaic.om.impl
com.adobe.mosaic.om.interfaces
com.adobe.mosaic.skinning
com.adobe.mosaic.sparklib.editors
com.adobe.mosaic.sparklib.optionMenu
com.adobe.mosaic.sparklib.scrollableMenu
com.adobe.mosaic.sparklib.scrollableMenu.skins
com.adobe.mosaic.sparklib.tabLayout
com.adobe.mosaic.sparklib.tabLayout.events
com.adobe.mosaic.sparklib.tabLayout.layouts
com.adobe.mosaic.sparklib.tabLayout.skins
com.adobe.mosaic.sparklib.text
com.adobe.mosaic.sparklib.util
com.adobe.solutions.acm.authoring.presentation
com.adobe.solutions.acm.authoring.presentation.actionbar
com.adobe.solutions.acm.authoring.presentation.common
com.adobe.solutions.acm.authoring.presentation.events
com.adobe.solutions.acm.authoring.presentation.fragment
com.adobe.solutions.acm.authoring.presentation.letter
com.adobe.solutions.acm.authoring.presentation.letter.data
com.adobe.solutions.acm.authoring.presentation.preview
com.adobe.solutions.acm.authoring.presentation.rte
com.adobe.solutions.acm.ccr.presentation
com.adobe.solutions.acm.ccr.presentation.contentcapture
com.adobe.solutions.acm.ccr.presentation.contentcapture.events
com.adobe.solutions.acm.ccr.presentation.contentcapture.preview
com.adobe.solutions.acm.ccr.presentation.datacapture
com.adobe.solutions.acm.ccr.presentation.datacapture.renderers
com.adobe.solutions.acm.ccr.presentation.pdf
com.adobe.solutions.exm
com.adobe.solutions.exm.authoring
com.adobe.solutions.exm.authoring.components.controls
com.adobe.solutions.exm.authoring.components.toolbars
com.adobe.solutions.exm.authoring.domain
com.adobe.solutions.exm.authoring.domain.expression
com.adobe.solutions.exm.authoring.domain.impl
com.adobe.solutions.exm.authoring.domain.method
com.adobe.solutions.exm.authoring.domain.variable
com.adobe.solutions.exm.authoring.enum
com.adobe.solutions.exm.authoring.events
com.adobe.solutions.exm.authoring.model
com.adobe.solutions.exm.authoring.renderer
com.adobe.solutions.exm.authoring.view
com.adobe.solutions.exm.expression
com.adobe.solutions.exm.impl
com.adobe.solutions.exm.impl.method
com.adobe.solutions.exm.method
com.adobe.solutions.exm.mock
com.adobe.solutions.exm.mock.method
com.adobe.solutions.exm.runtime
com.adobe.solutions.exm.runtime.impl
com.adobe.solutions.exm.variable
com.adobe.solutions.prm.constant
com.adobe.solutions.prm.domain
com.adobe.solutions.prm.domain.factory
com.adobe.solutions.prm.domain.impl
com.adobe.solutions.prm.domain.manager
com.adobe.solutions.prm.presentation.asset
com.adobe.solutions.prm.presentation.constant
com.adobe.solutions.prm.presentation.document
com.adobe.solutions.prm.presentation.event
com.adobe.solutions.prm.presentation.file
com.adobe.solutions.prm.presentation.project
com.adobe.solutions.prm.presentation.team
com.adobe.solutions.prm.presentation.util
com.adobe.solutions.prm.service
com.adobe.solutions.prm.services.impl
com.adobe.solutions.prm.vo
com.adobe.solutions.rca.constant
com.adobe.solutions.rca.domain
com.adobe.solutions.rca.domain.common
com.adobe.solutions.rca.domain.factory
com.adobe.solutions.rca.domain.impl
com.adobe.solutions.rca.domain.impl.manager
com.adobe.solutions.rca.domain.manager
com.adobe.solutions.rca.presentation
com.adobe.solutions.rca.presentation.comment
com.adobe.solutions.rca.presentation.constant
com.adobe.solutions.rca.presentation.event
com.adobe.solutions.rca.presentation.gantt
com.adobe.solutions.rca.presentation.gantt.ruler
com.adobe.solutions.rca.presentation.template
com.adobe.solutions.rca.presentation.template.audit
com.adobe.solutions.rca.presentation.template.definition
com.adobe.solutions.rca.presentation.template.documents
com.adobe.solutions.rca.presentation.template.stages
com.adobe.solutions.rca.presentation.util
com.adobe.solutions.rca.service
com.adobe.solutions.rca.services.impl
com.adobe.solutions.rca.vo
com.adobe.solutions.rca.vo.um
com.adobe.viewsource
fl.accessibility
fl.containers
fl.controls
fl.controls.dataGridClasses
fl.controls.listClasses
fl.controls.progressBarClasses
fl.core
fl.data
fl.display
fl.events
fl.ik
fl.lang
fl.livepreview
fl.managers
fl.motion
fl.motion.easing
fl.rsl
fl.text
fl.transitions
fl.transitions.easing
fl.video
flash.accessibility
flash.concurrent
flash.crypto
flash.data
flash.desktop
flash.display
flash.display3D
flash.display3D.textures
flash.errors
flash.events
flash.external
flash.filesystem
flash.filters
flash.geom
flash.globalization
flash.html
flash.media
flash.net
flash.net.dns
flash.net.drm
flash.notifications
flash.permissions
flash.printing
flash.profiler
flash.sampler
flash.security
flash.sensors
flash.system
flash.text
flash.text.engine
flash.text.ime
flash.ui
flash.utils
flash.xml
flashx.textLayout
flashx.textLayout.compose
flashx.textLayout.container
flashx.textLayout.conversion
flashx.textLayout.edit
flashx.textLayout.elements
flashx.textLayout.events
flashx.textLayout.factory
flashx.textLayout.formats
flashx.textLayout.operations
flashx.textLayout.utils
flashx.undo
ga.controls
ga.layouts
ga.model
ga.uiComponents
ga.util
ga.views
ga.wrappers
lc.foundation
lc.foundation.domain
lc.foundation.events
lc.foundation.ui
lc.foundation.util
lc.preloader
lc.procmgmt
lc.procmgmt.commands
lc.procmgmt.domain
lc.procmgmt.events
lc.procmgmt.formbridge
lc.procmgmt.impl
lc.procmgmt.ui.attachments
lc.procmgmt.ui.controls
lc.procmgmt.ui.controls.card
lc.procmgmt.ui.controls.renderer
lc.procmgmt.ui.help
lc.procmgmt.ui.layout
lc.procmgmt.ui.presentationmodel
lc.procmgmt.ui.process
lc.procmgmt.ui.search
lc.procmgmt.ui.startpoint
lc.procmgmt.ui.task
lc.procmgmt.ui.task.form
lc.procmgmt.ui.task.form.commands
lc.procmgmt.ui.tracking
mx.accessibility
mx.automation
mx.automation.air
mx.automation.delegates
mx.automation.delegates.advancedDataGrid
mx.automation.delegates.charts
mx.automation.delegates.containers
mx.automation.delegates.controls
mx.automation.delegates.controls.dataGridClasses
mx.automation.delegates.controls.fileSystemClasses
mx.automation.delegates.core
mx.automation.delegates.flashflexkit
mx.automation.events
mx.binding
mx.binding.utils
mx.charts
mx.charts.chartClasses
mx.charts.effects
mx.charts.effects.effectClasses
mx.charts.events
mx.charts.renderers
mx.charts.series
mx.charts.series.items
mx.charts.series.renderData
mx.charts.styles
mx.collections
mx.collections.errors
mx.containers
mx.containers.accordionClasses
mx.containers.dividedBoxClasses
mx.containers.errors
mx.containers.utilityClasses
mx.controls
mx.controls.advancedDataGridClasses
mx.controls.dataGridClasses
mx.controls.listClasses
mx.controls.menuClasses
mx.controls.olapDataGridClasses
mx.controls.scrollClasses
mx.controls.sliderClasses
mx.controls.textClasses
mx.controls.treeClasses
mx.controls.videoClasses
mx.core
mx.core.windowClasses
mx.data
mx.data.crypto
mx.data.errors
mx.data.events
mx.data.messages
mx.data.mxml
mx.data.offline.errors
mx.data.utils
mx.effects
mx.effects.easing
mx.effects.effectClasses
mx.events
mx.filters
mx.flash
mx.formatters
mx.geom
mx.graphics
mx.graphics.codec
mx.graphics.shaderClasses
mx.logging
mx.logging.errors
mx.logging.targets
mx.managers
mx.messaging
mx.messaging.channels
mx.messaging.config
mx.messaging.errors
mx.messaging.events
mx.messaging.management
mx.messaging.messages
mx.modules
mx.netmon
mx.olap
mx.olap.aggregators
mx.preloaders
mx.printing
mx.resources
mx.rpc
mx.rpc.events
mx.rpc.http
mx.rpc.http.mxml
mx.rpc.livecycle
mx.rpc.mxml
mx.rpc.remoting
mx.rpc.remoting.mxml
mx.rpc.soap
mx.rpc.soap.mxml
mx.rpc.wsdl
mx.rpc.xml
mx.skins
mx.skins.halo
mx.skins.spark
mx.skins.wireframe
mx.skins.wireframe.windowChrome
mx.states
mx.styles
mx.utils
mx.validators
org.osmf.containers
org.osmf.display
org.osmf.elements
org.osmf.events
org.osmf.layout
org.osmf.logging
org.osmf.media
org.osmf.metadata
org.osmf.net
org.osmf.net.dvr
org.osmf.net.httpstreaming
org.osmf.net.metrics
org.osmf.net.qos
org.osmf.net.rtmpstreaming
org.osmf.net.rules
org.osmf.traits
org.osmf.utils
spark.accessibility
spark.automation.delegates
spark.automation.delegates.components
spark.automation.delegates.components.gridClasses
spark.automation.delegates.components.mediaClasses
spark.automation.delegates.components.supportClasses
spark.automation.delegates.skins.spark
spark.automation.events
spark.collections
spark.components
spark.components.calendarClasses
spark.components.gridClasses
spark.components.mediaClasses
spark.components.supportClasses
spark.components.windowClasses
spark.core
spark.effects
spark.effects.animation
spark.effects.easing
spark.effects.interpolation
spark.effects.supportClasses
spark.events
spark.filters
spark.formatters
spark.formatters.supportClasses
spark.globalization
spark.globalization.supportClasses
spark.layouts
spark.layouts.supportClasses
spark.managers
spark.modules
spark.preloaders
spark.primitives
spark.primitives.supportClasses
spark.skins
spark.skins.mobile
spark.skins.mobile.supportClasses
spark.skins.spark
spark.skins.spark.mediaClasses.fullScreen
spark.skins.spark.mediaClasses.normal
spark.skins.spark.windowChrome
spark.skins.wireframe
spark.skins.wireframe.mediaClasses
spark.skins.wireframe.mediaClasses.fullScreen
spark.transitions
spark.utils
spark.validators
spark.validators.supportClasses
xd.core.axm.enterprise.view.components
xd.core.axm.enterprise.view.skins
xd.core.axm.view.components
xd.core.axm.view.components.support

Элементы языка

Глобальные константы
Глобальные функции
Операторы
Инструкции, ключевые слова и директивы
Специальные типы

Приложения

Новые возможности
Ошибки компилятора
Предупреждения компилятора
Ошибки времени выполнения
Миграция ActionScript 3
Поддерживаемые наборы символов
Только MXML
Элементы движения XML
Теги Timed Text
устаревший_индекс
Константы реализации специальных возможностей
Использование примеров
Юридическая информация
Пакетflash.net
Классpublic class NetStream
НаследованиеNetStream Inheritance EventDispatcher Inheritance Object

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Класс NetStream открывает односторонний потоковый канал через экземпляр NetConnection.

Класс NetStream позволяет выполнять следующие операции.

  • Вызовите метод NetStream.play() для воспроизведения медиафайла с локального диска, веб-сервера или Flash Media Server.
  • Вызовите метод NetStream.publish(), чтобы опубликовать видеопоток, аудиопоток или поток данных на сервер Flash Media Server.
  • Вызовите метод NetStream.send(), чтобы отправить сообщения с данными всем подписавшимся клиентам.
  • Вызовите метод NetStream.send(), чтобы добавить метаданные в эфирный поток.
  • Вызовите метод NetStream.appendBytes(), чтобы передать данные ByteArray в объект NetStream.

Примечание. Поток нельзя воспроизводить и публиковать, используя один и тот же объект NetStream.

Adobe Air и Flash Player 9.0.115.0 и более поздние версии поддерживают файлы, полученные из стандартного формата контейнера MPEG-4. К таким файлам относятся F4V, MP4, M4A, MOV, MP4V, 3GP и 3G2, если они содержат видео H.264 или аудио HE-AAC v2 или и то и другое. По сравнению со схожим профилем кодирования в Sorenson или On2, формат H.264 обеспечивает более высокое качество видеоизображения при невысоких скоростях потока. AAC — это стандартный аудиоформат, определенный в видеостандарте MPEG-4. HE-AAC v2 является расширением AAC и использует приемы репликации спектральной полосы (SBR) и параметрического стерео (PS) с целью повышения эффективности кодирования при низкой скорости потока.

Дополнительные сведения о поддерживаемых кодеках и форматах файлов см. в следующих ресурсах:

Получение данных из потока Flash Media Server, последовательного файла F4V или FLV

Во время потокового или последовательного воспроизведения Flash Media Server, F4V- и FLV-файлы могут отправлять объекты событий с данными при достижении определенных точек данных. Обрабатывать данные потока или FLV-файла во время воспроизведения можно двумя способами.

  • Можно связать свойство client с обработчиком события для получения объекта данных. С помощью свойства NetStream.client назначьте объект для вызова определенных функций обработки данных. Объект, назначенный свойству NetStream.client может вызвать прослушиватель для следующих точек данных: onCuePoint(), onImageData(), onMetaData(), onSeekPoint(), onPlayStatus(), onTextData() и onXMPData(). Затем в этих функциях запишите процедуры для обработки объекта данных, возвращенного потоком во время воспроизведения. Дополнительные сведения см. в описании NetStream.client.
  • Свяжите свойство client с подклассом класса NetStream, а затем создайте обработчик события для получения объекта данных. NetStream представляет собой защищенный класс. Это означает, что при выполнении кода объекту NetStream не могут быть добавлены какие-либо свойства или методы. Однако можно создать подкласс класса NetStream и определить в нем обработчик событий. Этот подкласс можно также сделать динамическим и добавить обработчик события в его экземпляр.

Дождитесь получения события NetGroup.Neighbor.Connect перед использованием API-интерфейсов репликации объекта, прямой передачи или публикации.

Примечание. Чтобы отправить данные через аудиофайл, например в формате MP3, используйте класс Sound для связи файла с объектом Sound. Затем используйте свойство Sound.id3 для считывания метаданных из звукового файла.

Поддержка видео, закодированного в формате H.264, в среде AIR for iOS

Для видео в формате H.264 среда AIR 3.0 (и более поздних версий) для ОС iOS поддерживает поднабор всего API-интерфейса NetStream. В следующей таблице перечислены элементы NetStream для воспроизведения, которые не поддерживаются в среде AIR for iOS:

Неподдерживаемые свойстваНеподдерживаемые методыНеподдерживаемые события
bufferTimeappendBytes()onCuePoint (работает только с FLV-файлами)
bufferLengthappendBytesAction()onImageData
backBufferTimestep()onSeekPoint
backBufferLengthonTextData
bufferTimeMaxonXMPData
bytesLoadeddrmError
currentFPSdrmStatus
inBufferSeekonDRMContentData
infodrmAuthenticate
liveDelayКод ошибки состояния DRM.encryptedFLV
maxPauseBufferTime
soundTransform
Все свойства, описывающие соединения RTMFP

Дополнительные сведения об использовании среды AIR для ОС iOS см. в описании метода NetStream.play().

Посмотреть примеры

Связанные элементы API



Общедоступные свойства
 СвойствоОпределено
  audioReliable : Boolean
Для подключений RTMFP указывает, отправляется ли аудио с обеспечением полной надежности.
NetStream
  audioSampleAccess : Boolean
Для подключений RTMFP определяет разрешено ли абонентам одноранговой сети в данном объекте NetStream захватывать аудиопоток.
NetStream
  backBufferLength : Number
[только для чтения] Число секунд ранее воспроизведенных ранее данных, которое данный момент сохраняется в кэше для перемотки назад.
NetStream
  backBufferTime : Number
Указывает, какой объем воспроизведенных данных Flash Player пытается сохранить в кэше для перемотки назад (в секундах).
NetStream
  bufferLength : Number
[только для чтения] Число секунд данных, в настоящий момент находящихся в буфере.
NetStream
  bufferTime : Number
Определяет, как долго сообщения должны накапливаться в буфере до начала отображения потока.
NetStream
  bufferTimeMax : Number
Задает максимальную длину буфера для транслируемого потокового содержимого (в секундах).
NetStream
  bytesLoaded : uint
[только для чтения] Число байт данных, загруженных в приложение.
NetStream
  bytesTotal : uint
[только для чтения] Общий размер файла, загружаемого в приложение (в байтах).
NetStream
  checkPolicyFile : Boolean
Указывает, пытается ли приложение загрузить файл междоменных политик с сервера загружаемого видеофайла перед началом загрузки самого файла.
NetStream
  client : Object
Задает объект, для которого вызываются методы обратного вызова для обработки потоковой передачи или данных F4V/FLV-файла.
NetStream
 Inheritedconstructor : Object
Ссылка на объект класса или функцию конструктора для данного экземпляра объекта.
Object
  currentFPS : Number
[только для чтения] Число кадров, отображаемых за одну секунду.
NetStream
  dataReliable : Boolean
Для подключений RTMFP указывает, отправляются ли вызовы NetStream.send() с обеспечением полной надежности.
NetStream
  farID : String
[только для чтения] Для подключений RTMFP это идентификатор удаленного узла, подключенного к данному экземпляру NetStream.
NetStream
  farNonce : String
[только для чтения] Для подключений RTMFP и RTMPE это значение, выбираемое главным образом на другом конце данного потока, уникальное для данного подключения.
NetStream
  inBufferSeek : Boolean
Указывает, сохраняются воспроизведенные данные в кэше для интеллектуального поиска (TRUE) или нет (FALSE).
NetStream
  info : NetStreamInfo
[только для чтения] Возвращает объект NetStreamInfo, свойства которого содержат статистические данные о качестве обслуживания.
NetStream
  liveDelay : Number
[только для чтения] Число секунд данных в буфере подписывающего потока в режиме реального времени (небуферизованном).
NetStream
  maxPauseBufferTime : Number
Задает время буферизации сообщений во время режима паузы (в секундах).
NetStream
  multicastAvailabilitySendToAll : Boolean
Для подключений RTMFP, определяет способ отправки сообщений о доступности фрагментов для одноранговой многоадресной передачи: всем одноранговым узлам или только одному.
NetStream
  multicastAvailabilityUpdatePeriod : Number
Для подключений RTMFP, определяет интервал в секундах между сообщениями, которые отправляются одноранговым узлам и информируют о том, что на локальном узле доступны новые фрагменты медиасодержимого для одноранговой многоадресной передачи.
NetStream
  multicastFetchPeriod : Number
Для подключений RTMFP определяет время в секундах с того момента, когда локальный узел узнает о доступности фрагмента медиасодержимого для одноранговой многоадресной передачи, и до попытки получения этого фрагмента от однорангового узла.
NetStream
  multicastInfo : NetStreamMulticastInfo
[только для чтения] Для подключений RTMFP возвращает объект NetStreamMulticastInfo, свойства которого содержат статистику о качестве обслуживания.
NetStream
  multicastPushNeighborLimit : Number
Для подключений RTMFP определяет максимальное число одноранговых узлов для предварительной загрузки медиасодержимого, предназначенного для многоадресной передачи.
NetStream
  multicastRelayMarginDuration : Number
Для подключений RTMFP определяет время в секундах, в течение которого данные одноранговой многоадресной передачи остаются доступными для отправки узлам, запрашивающих его после отведенного времени.
NetStream
  multicastWindowDuration : Number
Для подключений RTMFP определяет время в секундах для обновления окна при одноранговой многоадресной передачи.
NetStream
  nearNonce : String
[только для чтения] Для подключений RTMFP и RTMPE это значение, выбираемое главным образом на данном конце данного потока, уникальное для данного подключения.
NetStream
  objectEncoding : uint
[только для чтения] Кодировка объекта (версия AMF) для данного объекта NetStream.
NetStream
  peerStreams : Array
[только для чтения] Объект, содержащий все подписывающие экземпляры NetStream, прослушивающие этот публикующий экземпляр NetStream.
NetStream
  soundTransform : flash.media:SoundTransform
Управляет звуком в данном объекте NetStream.
NetStream
  time : Number
[только для чтения] Положение точки воспроизведения (в секундах).
NetStream
  useHardwareDecoder : Boolean
Указывает необходимость использования аппаратно-ускоренного декодирования в потоке.
NetStream
  useJitterBuffer : Boolean
Уменьшите задержку для интерактивной небуферизованной потоковой передачи (bufferTime = 0).
NetStream
  videoReliable : Boolean
Для подключений RTMFP указывает, отправляется ли видео с обеспечением полной надежности.
NetStream
  videoSampleAccess : Boolean
Для подключений RTMFP определяет разрешено ли абонентам одноранговой сети в данном объекте NetStream захватывать видеопоток.
NetStream
  videoStreamSettings : VideoStreamSettings
Укажите свойства сжатия потока.
NetStream
Общедоступные методы
 МетодОпределено
  
NetStream(connection:NetConnection, peerID:String = "connectToFMS")
Создает поток, который можно использовать для воспроизведения медиафайлов и отправки данных через объект NetConnection.
NetStream
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Регистрирует объект прослушивателя события на объекте EventDispatcher для получения прослушивателем уведомления о событии.
EventDispatcher
  
Передает объект ByteArray в экземпляр NetStream для воспроизведения.
NetStream
  
appendBytesAction(netStreamAppendBytesAction:String):void
Указывает на отсутствие непрерывности временной шкалы, опустошает буфер FIFO и предписывает анализатору байт ожидать заголовок файла или начало тега FLV.
NetStream
  
Присоединяет поток к новому объекту NetConnection.
NetStream
  
Присоединяет аудиопоток, отправляемый через объект NetStream из объекта Microphone, переданного в качестве источника.
NetStream
  
attachCamera(theCamera:Camera, snapshotMilliseconds:int = -1):void
Начинает захват видео с видеокамеры, либо останавливает запись, если параметр theCamera имеет значение null.
NetStream
  
Останавливает воспроизведение всех данных в потоке, присваивает свойству time значение 0 и делает поток доступным для использования.
NetStream
 Inherited
Посылает событие в поток событий.
EventDispatcher
  
Высвобождает все ресурсы, удерживаемые объектом NetStream.
NetStream
 Inherited
Проверяет, имеет ли объект EventDispatcher прослушиватели, зарегистрированные для определенного типа события.
EventDispatcher
 Inherited
Показывает, определено ли заданное свойство для объекта.
Object
 Inherited
Показывает, есть ли экземпляр класса Object в цепи прототипов объекта, заданного в качестве параметра.
Object
  
Вызывается, когда поток одноранговой публикации совпадает с потоком одноранговой подписки.
NetStream
  
Приостанавливает воспроизведение видеопотока.
NetStream
  
play(... arguments):void
Воспроизводит медиафайл из локального каталога или с веб-сервера; воспроизводит медиафайл или эфирный поток с сервера Flash Media Server.
NetStream
  
Незаметно переключает файлы с различной скоростью передачи данных и обеспечивает возобновление NetStream в случае обрыва и восстановления подключения.
NetStream
  
Извлекает метаданные DRM из локального мультимедийного файла.
NetStream
 Inherited
Показывает наличие заданного свойства и его перечисляемость.
Object
  
publish(name:String = null, type:String = null):void
Отправляет потоковое аудио, видео и сообщения с данными от клиента на сервер Flash Media Server, также может записывать поток в ходе передачи.
NetStream
  
Определяет, воспроизводится ли входящий звук в потоке.
NetStream
  
Определяет, воспроизводится ли входящее видео в потоке.
NetStream
  
Указывает частоту кадров для входящего видео.
NetStream
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Удаляет прослушиватель из объекта EventDispatcher.
EventDispatcher
  
[статические] В приложениях AIR это приводит к удалению всех локально кэшированных данных ваучеров управления цифровыми правами (DRM).
NetStream
  
Возобновляет воспроизведение приостановленного видеопотока.
NetStream
  
seek(offset:Number):void
Осуществляет поиск ключевого кадра (так называемого I-кадра), расположенного ближе всего к указанной точке.
NetStream
  
send(handlerName:String, ... arguments):void
Отправляет сообщение по опубликованному потоку всем подписавшимся клиентам.
NetStream
  
Задает учетные данные для прохождения аутентификации DRM, необходимой для просмотра соответствующего зашифрованного содержимого.
NetStream
 Inherited
Задает доступность динамического свойства для операций цикла.
Object
  
step(frames:int):void
Переходит вперед или назад на указанное число кадров относительно отображаемого в данный момент кадра.
NetStream
  
Приостанавливает или возобновляет воспроизведение потока.
NetStream
 Inherited
Возвращает строковое представление этого объекта, отформатированного в соответствии со стандартами, принятыми для данной локали.
Object
 Inherited
Возвращает строковое представление заданного объекта.
Object
 Inherited
Возвращает элементарное значение заданного объекта.
Object
 Inherited
Проверяет, зарегистрирован ли прослушиватель события для указанного типа события с данным объектом EventDispatcher или любым его предшественником.
EventDispatcher
События
 Событие Сводка Определено
 Inherited[многоадресное событие] Отправляется, когда проигрыватель Flash Player или приложение AIR перемещается в фокус операционной системы и становится активным.EventDispatcher
  Отправляется, когда исключение создается асинхронным образом — то есть в коде, изначально имеющем асинхронную природу.NetStream
 Inherited[многоадресное событие] Отправляется, когда проигрыватель Flash Player или приложение AIR теряет фокус системы и становится неактивным.EventDispatcher
  Отправляется, когда объект NetStream пытается воспроизвести содержимое, зашифрованное с помощью технологии управления цифровыми правами (DRM) и требующее ввода учетных данных пользователя для проверки подлинности перед воспроизведением.NetStream
  Отправляется, когда объект NetStream, пытающийся воспроизвести файл с DRM-шифрованием, сталкивается с ошибкой, связанной с DRM.NetStream
  Отправляется при начале воспроизведения содержимого, зашифрованного с помощью технологии управления цифровыми правами (DRM) (когда пользователь проходит аутентификацию и получает право на просмотр содержимого).NetStream
  Отправляется, когда происходит ошибка ввода-вывода, приводящая к сбою сетевой операции.NetStream
  Отправляется при воспроизведении видеоконтента и обработке определенных типов сообщений.NetStream
  Отправляется, когда объект NetStream сообщает о своем состоянии или о случившейся ошибке.NetStream
  Добавляет прослушиватель, реагирующий на достижение встроенной ключевой точки во время воспроизведения видеофайла.NetStream
  Добавляет прослушиватель событий, реагирующий на извлечение приложением AIR метаданных DRM-содержимого, внедренных в мультимедийный файл.NetStream
  Добавляет прослушиватель событий, реагирующий на получение проигрывателем Flash Player графических данных в виде массива байтов, встроенного в воспроизводимый мультимедийный файл.NetStream
  Добавляет прослушиватель, реагирующий на получение проигрывателем Flash Player описательной информации, встроенной в воспроизводимое видео.NetStream
  Добавляет прослушиватель, который реагирует на завершение воспроизведения потока объектом NetStream.NetStream
  Вызывается синхронно с appendBytes(), когда в ходе разбора встречается точка, которая рассматривается как возможная точка поиска (например, ключевой кадр видеоролика).NetStream
  Добавляет прослушиватель событий, реагирующий на получение проигрывателем Flash Player текстовых данных, встроенных в воспроизводимый мультимедийный файл.NetStream
  Устанавливает прослушиватель, реагирующий на получение проигрывателем Flash Player информации о платформе Adobe Extensible Metadata Platform (XMP), встроенной в воспроизводимое видео.NetStream
  Отправляется при попытке приложения воспроизвести содержимое, зашифрованное с помощью технологии управления цифровыми правами (DRM), путем вызова метода NetStream.play().NetStream
Общедоступные константы
 КонстантаОпределено
  CONNECT_TO_FMS : String = "connectToFMS"
[статические] Статический объект, передаваемый в качестве параметра конструктору для экземпляра NetStream.
NetStream
  DIRECT_CONNECTIONS : String = "directConnections"
[статические] Создает подключение между одноранговыми издателями
NetStream
Сведения о свойстве

audioReliable

свойство
audioReliable:Boolean

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10.1, AIR 2

Для подключений RTMFP указывает, отправляется ли аудио с обеспечением полной надежности. Когда имеет значение TRUE, все аудиоданные передаются через этот объект NetStream с обеспечением полной надежности. Когда имеет значение FALSE, надежность передаваемых аудиоданных не обеспечивается, вместо этого аудио передается в течение ограниченного времени, а затем обрывается. Можно использовать значение FALSE, чтобы уменьшить время ожидания за счет качества звука.

Попытка задать этому свойству значение FALSE при использовании сетевого протокола, который не поддерживает частичную надежность, игнорируется, и свойству задается значение TRUE.

Примечание. Это свойство не поддерживается для видео H.264 в среде AIR 3.0 для ОС iOS.



Реализация
    public function get audioReliable():Boolean
    public function set audioReliable(value:Boolean):void

Связанные элементы API

audioSampleAccess

свойство 
audioSampleAccess:Boolean

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10.1, AIR 2

Для подключений RTMFP определяет разрешено ли абонентам одноранговой сети в данном объекте NetStream захватывать аудиопоток. Когда имеет значение FALSE, при попытке абонента захватить аудиопоток выводятся ошибки прав доступа.

Примечание. Это свойство не поддерживается для видео H.264 в среде AIR 3.0 для ОС iOS.



Реализация
    public function get audioSampleAccess():Boolean
    public function set audioSampleAccess(value:Boolean):void

Связанные элементы API

backBufferLength

свойство 
backBufferLength:Number  [только для чтения]

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10.1, AIR 2

Число секунд ранее воспроизведенных ранее данных, которое данный момент сохраняется в кэше для перемотки назад.

Примечание. Это свойство не поддерживается для видео H.264 в среде AIR 3.0 для ОС iOS.

Это свойство доступно, только когда поток данных передается с сервера Flash Media Server 3.5.3 или более поздней версии; дополнительные сведения о Flash Media Server см. в описании класса.

Чтобы задать размер кэша для воспроизведенных ранее данных, используйте свойства Netstream.backBufferTime.

Чтобы предотвратить кэширование данных, задайте свойству Netstream.inBufferSeek значение FALSE.



Реализация
    public function get backBufferLength():Number

Связанные элементы API

backBufferTime

свойство 
backBufferTime:Number

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10.1, AIR 2

Указывает, какой объем воспроизведенных данных Flash Player пытается сохранить в кэше для перемотки назад (в секундах). Значение по умолчанию составляет 30 секунд для настольных приложений и 3 секунды для мобильных приложений.

Примечание. Это свойство не поддерживается для видео H.264 в среде AIR 3.0 для ОС iOS.

Это свойство доступно, только когда поток данных передается с сервера Flash Media Server 3.5.3 или более поздней версии; дополнительные сведения о Flash Media Server см. в описании класса.

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

Если позиция перемотки назад находится намного дальше, чем имеющиеся данные в кэше, буфер опустошается. После этого начинается потоковая передача данных с сервера с указанной точки.

Чтобы использовать это свойство, задайте для Netstream.inBufferSeek значение TRUE.



Реализация
    public function get backBufferTime():Number
    public function set backBufferTime(value:Number):void

Связанные элементы API

bufferLength

свойство 
bufferLength:Number  [только для чтения]

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Число секунд данных, в настоящий момент находящихся в буфере. Используя данное свойство вместе со свойством bufferTime, можно определить, насколько близок момент полного заполнения буфера (это необходимо, например, чтобы оповестить пользователя, ожидающего загрузки данных в буфер).

Примечание. Это свойство не поддерживается для видео H.264 в среде AIR 3.0 для ОС iOS.



Реализация
    public function get bufferLength():Number

Связанные элементы API

bufferTime

свойство 
bufferTime:Number

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Определяет, как долго сообщения должны накапливаться в буфере до начала отображения потока.

Примечание. Это свойство не поддерживается для видео H.264 в среде AIR 3.0 для ОС iOS.

По умолчанию используется значение 0,1 (одна десятая секунды). Определить количество секунд, которые в данный момент находятся в буфере, можно с помощью свойства bufferLength.

Чтобы запустить список воспроизведения с сервера, значение свойства bufferTime должно быть не меньше 1 секунды. Если возникают проблемы с воспроизведением, увеличьте значение свойства bufferTime.

Записанное содержимое. Во избежание искажения при потоковой передаче предварительно записанного (не эфирного) содержимого, не задавайте для NetStream.bufferTime значение 0. По умолчанию приложение использует входящий буфер для предварительно записанного содержимого, который ставит данные мультимедиа в очередь и надлежащим образом их воспроизводит. Для предварительно записанного содержимого используйте параметр по умолчанию или увеличьте время буферизации.

Эфирное содержимое. При потоковой передаче видео в реальном времени, задайте свойству bufferTime значение 0.

Начиная с версии 9.0.115.0, проигрыватель Flash Player больше не очищает буфер при вызове метода NetStream.pause(). До версии 9.0.115.0, перед тем как продолжить воспроизведение, проигрыватель Flash Player находился в ожидании заполнения буфера, что часто вызывало задержку.

Для одиночной паузы свойство NetStream.bufferLength имеет ограничение в 60 секунд или удвоенное значение параметра NetStream.bufferTime (выбирается большее значение из двух). Например, если параметр bufferTime равен 20 секундам, то проигрыватель Flash Player заполняет буфер до тех пор, пока NetStream.bufferLength не примет верхнее значение 20*2 (40) или 60. В данном случае, буферизация проводится до того, как параметр bufferLength не будет иметь значение 60. Если параметр bufferTime равен 40 секундам, то проигрыватель Flash Player заполняет буфер до тех пор, пока bufferLength не примет верхнее значение 40*2 (80) или 60. В этом случае буферизация проводится до того, как параметр bufferLength не будет иметь значение 80.

Свойство bufferLength также имеет абсолютный предел. Если любой вызов pause() приводит к тому, что значение параметра bufferLength увеличивается на 600 секунд или на значение bufferTime * 2 (выбирается наибольшее из двух), проигрыватель Flash Player очищает буфер и устанавливает для параметра bufferLength значение, равное 0. Например, если значение параметра bufferTime равно 120 секундам, проигрыватель Flash Player заполняет буфер до тех пор, пока параметр bufferLength не примет значение в 600 секунд. Если значение параметра bufferTime - 360 секунд, то Flash Player заполняет буфер до тех пор, пока bufferLength не станет равным 720 секундам.

Совет: Метод NetStream.pause() можно использовать в коде для буферизации данных в тот момент, например, когда зрители смотрят рекламу, и последующего воспроизведения потока в начале основной видеопрограммы.

Дополнительные сведения о новых возможностях механизма паузы см. по адресу http://www.adobe.com/go/learn_fms_smartpause_ru.

Flash Media Server. Поведение буфера зависит от того, в отношении какого потока установлено время буферизации: публикующего или подписывающего. Для публикующего потока параметр bufferTime указывает, как долго может расширяться исходящий буфер до тех пор, пока приложение не начнет пропускать кадры. При высокоскоростном подключении время буферизации не столь важно, так как данные будут отправляться настолько же быстро, насколько быстро приложение сможет поместить их в буфер. Однако при медленном подключении может появиться существенная разница между тем, как быстро приложение помещает данные в буфер, и тем, с какой скоростью эти данные отправляются клиенту.

Для подписывающего потока параметр bufferTime указывает, как долго может происходить буферизация входящих данных до того, как поток будет отображаться на экране.

Если при воспроизведении записанного потока параметр bufferTime равен нулю, то проигрыватель Flash устанавливает для него малое значение (приблизительно 10 миллисекунд). Если в дальнейшем воспроизводятся (например, из списка воспроизведения) потоки в реальном времени, данное значение времени буферизации не меняется. Другими словами, параметр bufferTime остается для потока ненулевым.



Реализация
    public function get bufferTime():Number
    public function set bufferTime(value:Number):void

Связанные элементы API

bufferTimeMax

свойство 
bufferTimeMax:Number

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10.1, AIR 2

Задает максимальную длину буфера для транслируемого потокового содержимого (в секундах). Значением по умолчанию является 0. Длина буфера может увеличиваться со временем в результате проблем с сетью или устройством (например, несовпадение времени, заданного для часов отправителя и получателя). Задайте это свойство для ограничения длины буфера для эфирных приложений, таких как собрания или наблюдение.

Примечание. Это свойство не поддерживается для видео H.264 в среде AIR 3.0 для ОС iOS.

Когда bufferTimeMax > 0 и bufferLength >= bufferTimeMax, аудио воспроизводится быстрее, пока bufferLength не сравняется с bufferTime. Если эфирный поток содержит только видео, оно воспроизводится быстрее, пока bufferLength не сравняется с bufferTime.

В зависимости от того, насколько запаздывает воспроизведение (разница между bufferLength и bufferTime), Flash Player выбирает скорость наверстывания в пределах 1,5—6,25 %. Если поток содержит аудио, более быстрое воспроизведение достигается путем субдискретизации диапазона частот, что уменьшает слышимое искажение.

Задайте свойство bufferTimeMax, чтобы включить наверстывание буферизованного эфирного потока в следующих случаях:

  • потоковая передача эфирного медиасодержимого с сервера Flash Media Server;
  • потоковая передача эфирного медиасодержимого в режиме создания данных (NetStream.appendBytes()).



Реализация
    public function get bufferTimeMax():Number
    public function set bufferTimeMax(value:Number):void

Связанные элементы API

bytesLoaded

свойство 
bytesLoaded:uint  [только для чтения]

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Число байт данных, загруженных в приложение. Используя данное свойство вместе со свойством bytesTotal, можно определить, насколько близок момент полного заполнения буфера (это необходимо, например, чтобы оповестить пользователя, ожидающего загрузки данных в буфер).

Примечание. Это свойство не поддерживается для видео H.264 в среде AIR 3.0 для ОС iOS.



Реализация
    public function get bytesLoaded():uint

Связанные элементы API

bytesTotal

свойство 
bytesTotal:uint  [только для чтения]

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Общий размер файла, загружаемого в приложение (в байтах).



Реализация
    public function get bytesTotal():uint

Связанные элементы API

checkPolicyFile

свойство 
checkPolicyFile:Boolean

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9

Указывает, пытается ли приложение загрузить файл междоменных политик с сервера загружаемого видеофайла перед началом загрузки самого файла. Используйте это свойство для последовательной загрузки видео, а также для загрузки файлов, которые находятся за пределами домена вызывающего SWF-файла. Это свойство игнорируется, когда используется RTMP.

Задайте этому свойству значение true, чтобы вызвать метод BitmapData.draw() для видеофайла, который загружен не из домена вызывающего SWF-файла. Метод BitmapData.draw() обеспечивает доступ к видеосодержимому на уровне пикселей. При вызове BitmapData.draw() без установки значения true для параметра checkPolicyFile во время загрузки можно получить исключение SecurityError, так как требуемый файл политик не был загружен.

Этому свойству следует задавать значение true, только если для загружаемого видеофайла требуется доступ на уровне пикселей. Проверка наличия файла политик снижает пропускную способность сети и может задержать начало загрузки.

При вызове метода NetStream.play(), в котором параметр checkPolicyFile имеет значение true, приложение Flash Player или AIR должно успешно загрузить соответствующий файл междоменных политик или определить, что такой файл не существует, и только потом перейти к загрузке объекта. Чтобы убедиться в существовании файла политик, приложение Flash Player или AIR выполняет следующие действия в указанном ниже порядке:

  1. Приложение анализирует ранее загруженные файлы политик.
  2. Приложение пытается загрузить любые файлы действующих политик, указанные в вызовах метода Security.loadPolicyFile().
  3. Приложение производит попытку загрузить файл политик из местоположения по умолчанию, которое соответствует URL-адресу, переданному NetStream.play() (файл /crossdomain.xml на том же сервере, что и данный URL-адрес).

Во всех случаях для работы Flash Player или Adobe AIR требуется, чтобы на сервере видеоданных существовал подходящий файл политики, чтобы он предоставлял доступ к объекту по URL-адресу, переданному методу play() на основе места размещения файла политики, а также, чтобы он обеспечивал домену вызывающего файла доступ к видео посредством одного или нескольких тегов <allow-access-from>.

Если установить для параметра checkPolicyFile значение true, то перед тем как загрузить видео, приложение будет ожидать проверки файла политики. Чтобы выполнять какие-либо операции по обработке видеоданных на уровне пикселей (например, вызов BitmapData.draw()), следует дождаться получения от своего объекта NetStream событий onMetaData или NetStatus.

Если для параметра checkPolicyFile задано значение true, но при этом соответствующий файл политики не найден, сообщение об ошибке не будет получено до тех пор, пока не будет выполнена операция, требующая файл политики, после чего приложение выдаст исключение SecurityError.

Будьте внимательны при установке параметра checkPolicyFile, если вы загружаете файл с URL-адреса, в котором используется HTTP-переадресация на стороне сервера. Приложение предпринимает попытку извлечь файлы политики, соответствующие первоначальному URL-адресу, который указывается в NetStream.play(). Если из-за HTTP-переадресации конечный файл поступает с другого URL-адреса, первоначально загруженные файлы политик могут не применяться в отношении конечного URL-адреса файла. С точки зрения безопасности, именно этот URL-адрес представляет большую важность.

Дополнительные сведения о файлах политик см. в главе «Элементы управления веб-сайтом (файлы политики)» в Руководстве разработчика по ActionScript 3.0, а также в разделе центра разработчиков Flash Player Developer Center: Безопасность.



Реализация
    public function get checkPolicyFile():Boolean
    public function set checkPolicyFile(value:Boolean):void

Связанные элементы API

client

свойство 
client:Object

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Задает объект, для которого вызываются методы обратного вызова для обработки потоковой передачи или данных F4V/FLV-файла. Объект по умолчанию: this (создаваемый объект NetStream). Если в свойстве client указать другой объект, методы обратного вызова будут вызываться на этом другом объекте. Объект NetStream.client может вызывать следующие функции и получать связанный объект данных: onCuePoint(), onImageData(), onMetaData(), onPlayStatus(), onSeekPoint(), onTextData() и onXMPData().

Чтобы связать свойство client с обработчиком событий, выполните следующие действия.

  1. Создайте объект и назначьте его свойству client объекта NetStream:
         var customClient:Object = new Object();
         my_netstream.client = customClient;
         
  2. Назначьте функцию обработчика для нужного события данных в качестве свойства объекта Client:
         customClient.onImageData = onImageDataHandler;
         
  3. Напишите функцию обработчика для получения объекта события данных, такого как:
          public function onImageDataHandler(imageData:Object):void {
                  trace("imageData length: " + imageData.data.length);
          }
         

Когда данные передаются через поток или при воспроизведении, объект события данных (в данном случае это объект imageData) заполняется данными. См. описание onImageData, содержащее полный пример объекта, назначенного свойству client.

Чтобы связать свойство client с подклассом, выполните следующие действия.

  1. Создайте подкласс с функцией обработчика, чтобы получить объект события данных:
         class CustomClient {
            public function onMetaData(info:Object):void {
                trace("metadata: duration=" + info.duration + " framerate=" + info.framerate);
         }
         
  2. Назначьте экземпляр подкласса свойству client объекта NetStream:
         my_netstream.client = new CustomClient();
         

Когда данные передаются через поток или при воспроизведении, объект события данных (в данном случае это объект info) заполняется данными. В конце описания класса NetStream приводится пример, демонстрирующий назначение экземпляра подкласса свойству client.



Реализация
    public function get client():Object
    public function set client(value:Object):void

Выдает
TypeError — В качестве свойства client должен быть указан объект, имеющий значение, отличное от null.

Связанные элементы API

currentFPS

свойство 
currentFPS:Number  [только для чтения]

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

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

Примечание. Это свойство не поддерживается для видео H.264 в среде AIR 3.0 для ОС iOS.



Реализация
    public function get currentFPS():Number

dataReliable

свойство 
dataReliable:Boolean

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10.1, AIR 2

Для подключений RTMFP указывает, отправляются ли вызовы NetStream.send() с обеспечением полной надежности. Когда имеет значение TRUE, вызовы NetStream.send() передаются через этот объект NetStream с обеспечением полной надежности. Когда имеет значение FALSE, вызовы NetStream.send() передаются без обеспечения полной надежности. Вместо этого они передаются в течение ограниченного времени, а затем обрываются. Можно использовать значение FALSE, чтобы уменьшить время ожидания за счет качества данных.

Попытка задать этому свойству значение FALSE при использовании сетевого протокола, который не поддерживает частичную надежность, игнорируется, и свойству задается значение TRUE.

Примечание. Это свойство не поддерживается для видео H.264 в среде AIR 3.0 для ОС iOS.



Реализация
    public function get dataReliable():Boolean
    public function set dataReliable(value:Boolean):void

Связанные элементы API

farID

свойство 
farID:String  [только для чтения]

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10, AIR 1.5

Для подключений RTMFP это идентификатор удаленного узла, подключенного к данному экземпляру NetStream.

Примечание. Это свойство не поддерживается для видео H.264 в среде AIR 3.0 для ОС iOS.



Реализация
    public function get farID():String

farNonce

свойство 
farNonce:String  [только для чтения]

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10, AIR 1.5

Для подключений RTMFP и RTMPE это значение, выбираемое главным образом на другом конце данного потока, уникальное для данного подключения. Это значение появляется на другом конце потока в качестве его значения nearNonce.

Примечание. Это свойство не поддерживается для видео H.264 в среде AIR 3.0 для ОС iOS.



Реализация
    public function get farNonce():String

inBufferSeek

свойство 
inBufferSeek:Boolean

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10.1, AIR 2

Указывает, сохраняются воспроизведенные данные в кэше для интеллектуального поиска (TRUE) или нет (FALSE). Значение по умолчанию FALSE.

Примечание. Это свойство не поддерживается для видео H.264 в среде AIR 3.0 для ОС iOS.

Flash Media Server 3.5.3 и Flash Player 10.1 совместно обеспечивают поддержку интеллектуального поиска. При интеллектуальном поиске используются задний и передний буферы для выполнения поиска без запроса данных с сервера. При стандартном поиске буфер опустошается, и запрашиваются новые данные с сервера в момент поиска

Вызовите метод NetStream.step(), чтобы перемещаться вперед или назад на указанное число кадров. Вызовите метод NetStream.seek(), чтобы переходить вперед или назад на указанное число секунд.

При интеллектуальном поиске уменьшается нагрузка на сервер, и увеличивается производительность поиска. Задайте inBufferSeek=true и вызовите методы step() и seek(), чтобы создать:

  • Клиентскую функцию DVR. Выполняйте поиск в клиентском буфере, вместо запроса нового пакета видеоданных с сервера
  • Особые режимы. Создавайте проигрыватели, которые могут выполнять перемещение через указанное число кадров, перемотку назад и в перед, а также замедленное воспроизведение.

Когда задано inBufferSeek=true и успешно вызывается метод NetStream.seek(), свойство info.description объекта NetStatusEvent содержит строку "client-inBufferSeek".

Когда успешно вызывается NetStream.step(), свойство info.code объекта NetStatusEvent содержит строку "NetStream.Step.Notify".



Реализация
    public function get inBufferSeek():Boolean
    public function set inBufferSeek(value:Boolean):void

Связанные элементы API

info

свойство 
info:NetStreamInfo  [только для чтения]

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10, AIR 1.5, Flash Lite 4

Возвращает объект NetStreamInfo, свойства которого содержат статистические данные о качестве обслуживания. Объект представляет собой снимок текущего состояния.

Примечание. Это свойство не поддерживается для видео H.264 в среде AIR 3.0 для ОС iOS.



Реализация
    public function get info():NetStreamInfo

Связанные элементы API

liveDelay

свойство 
liveDelay:Number  [только для чтения]

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Число секунд данных в буфере подписывающего потока в режиме реального времени (небуферизованном). Данное свойство указывает текущую задержку в сетевой передаче данных (время запаздывания).

Примечание. Это свойство не поддерживается для видео H.264 в среде AIR 3.0 для ОС iOS.

Данное свойство используется преимущественно для работы с сервером Flash Media Server (более подробную информацию см. в описании класса).

С помощью значения этого свойства можно приблизительно измерить качество передачи потока и сообщить результат пользователю.



Реализация
    public function get liveDelay():Number

maxPauseBufferTime

свойство 
maxPauseBufferTime:Number

Версии среды выполнения: Flash Player 10, AIR 1.5, Flash Lite 4

Задает время буферизации сообщений во время режима паузы (в секундах). Это свойство можно использовать для ограничения времени буферизации во время режима паузы. По достижении предельного значения NetStream.bufferLength буферизация прекращается.

Если это значение не задано, по умолчанию используется ограничение 60 секунд или удвоенное значение NetStream.bufferTime при каждой паузе в зависимости от того, какое значение выше.

Примечание. Это свойство не поддерживается для видео H.264 в среде AIR 3.0 для ОС iOS.



Реализация
    public function get maxPauseBufferTime():Number
    public function set maxPauseBufferTime(value:Number):void

Связанные элементы API

multicastAvailabilitySendToAll

свойство 
multicastAvailabilitySendToAll:Boolean

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10.1, AIR 2

Для подключений RTMFP, определяет способ отправки сообщений о доступности фрагментов для одноранговой многоадресной передачи: всем одноранговым узлам или только одному. Если имеет значение TRUE, сообщения отправляются всем одноранговым узлам через заданный интервал времени. Если имеет значение FALSE, сообщения отправляются только одному одноранговому узлу через заданный интервал времени. Интервал определяется свойством multicastAvailabilityUpdatePeriod.

Примечание. Это свойство не поддерживается для видео H.264 в среде AIR 3.0 для ОС iOS.



Реализация
    public function get multicastAvailabilitySendToAll():Boolean
    public function set multicastAvailabilitySendToAll(value:Boolean):void

Связанные элементы API

multicastAvailabilityUpdatePeriod

свойство 
multicastAvailabilityUpdatePeriod:Number

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10.1, AIR 2

Для подключений RTMFP, определяет интервал в секундах между сообщениями, которые отправляются одноранговым узлам и информируют о том, что на локальном узле доступны новые фрагменты медиасодержимого для одноранговой многоадресной рассылки. Большие значения могут увеличить эффективность пакетирования и уменьшить переполнение из-за управляющей информации, но они могут снизить качество на получающем конце в результате сокращения времени, доступного для извлечения фрагментов перед выводом на экран. Более низкие значения могут сократить время ожидание и улучшить качество, но при этом увеличивается переполнение из-за управляющей информации.

Примечание. Это свойство не поддерживается для видео H.264 в среде AIR 3.0 для ОС iOS.



Реализация
    public function get multicastAvailabilityUpdatePeriod():Number
    public function set multicastAvailabilityUpdatePeriod(value:Number):void

Связанные элементы API

multicastFetchPeriod

свойство 
multicastFetchPeriod:Number

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10.1, AIR 2

Для подключений RTMFP определяет время в секундах с того момента, когда локальный узел узнает о доступности фрагмента медиасодержимого для одноранговой многоадресной передачи, и до попытки получения этого фрагмента от однорангового узла. Это значение позволяет предварительно загрузить фрагмент на локальный узел, прежде чем одноранговый узел попытается получить его. Кроме того, оно позволяет объявить о наличии фрагмента нескольким узлам, чтобы нагрузку получения можно было распределить между несколькими узлами.

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

Примечание. Это свойство не поддерживается для видео H.264 в среде AIR 3.0 для ОС iOS.



Реализация
    public function get multicastFetchPeriod():Number
    public function set multicastFetchPeriod(value:Number):void

Связанные элементы API

multicastInfo

свойство 
multicastInfo:NetStreamMulticastInfo  [только для чтения]

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10.1, AIR 2

Для подключений RTMFP возвращает объект NetStreamMulticastInfo, свойства которого содержат статистику о качестве обслуживания. Объект представляет собой снимок текущего состояния.

Примечание. Это свойство не поддерживается для видео H.264 в среде AIR 3.0 для ОС iOS.



Реализация
    public function get multicastInfo():NetStreamMulticastInfo

Связанные элементы API

multicastPushNeighborLimit

свойство 
multicastPushNeighborLimit:Number

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10.1, AIR 2

Для подключений RTMFP определяет максимальное число одноранговых узлов для предварительной загрузки медиасодержимого, предназначенного для многоадресной передачи.

Примечание. Это свойство не поддерживается для видео H.264 в среде AIR 3.0 для ОС iOS.



Реализация
    public function get multicastPushNeighborLimit():Number
    public function set multicastPushNeighborLimit(value:Number):void

multicastRelayMarginDuration

свойство 
multicastRelayMarginDuration:Number

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10.1, AIR 2

Для подключений RTMFP определяет время в секундах, в течение которого данные одноранговой многоадресной передачи остаются доступными для отправки узлам, запрашивающих его после отведенного времени. Время определяется свойством multicastWindowDuration.

Примечание. Это свойство не поддерживается для видео H.264 в среде AIR 3.0 для ОС iOS.



Реализация
    public function get multicastRelayMarginDuration():Number
    public function set multicastRelayMarginDuration(value:Number):void

Связанные элементы API

multicastWindowDuration

свойство 
multicastWindowDuration:Number

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10.1, AIR 2

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

Примечание. Это свойство не поддерживается для видео H.264 в среде AIR 3.0 для ОС iOS.



Реализация
    public function get multicastWindowDuration():Number
    public function set multicastWindowDuration(value:Number):void

Связанные элементы API

nearNonce

свойство 
nearNonce:String  [только для чтения]

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10, AIR 1.5, Flash Lite 4

Для подключений RTMFP и RTMPE это значение, выбираемое главным образом на данном конце данного потока, уникальное для данного подключения. Это значение появляется на другом конце потока в качестве его значения farNonce.

Примечание. Это свойство не поддерживается для видео H.264 в среде AIR 3.0 для ОС iOS.



Реализация
    public function get nearNonce():String

objectEncoding

свойство 
objectEncoding:uint  [только для чтения]

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Кодировка объекта (версия AMF) для данного объекта NetStream. Объект NetStream наследует значение objectEncoding от соответствующего объекта NetConnection. Необходимо хорошо понимать назначение этого свойства, если вашему SWF-файлу версии ActionScript 3.0 требуется обмен данными с серверами, программное обеспечение которых было выпущено до выхода Flash Player версии 9. Дополнительные сведения см. в описании свойства objectEncoding для класса NetConnection.

Значение этого свойства зависит от того, каким является данный поток — локальным или удаленным. Локальные потоки, в которых значение null было передано методу NetConnection.connect(), возвращают значение NetConnection.defaultObjectEncoding. Удаленные потоки возвращают кодировку объекта для подключения к серверу.

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



Реализация
    public function get objectEncoding():uint

Связанные элементы API

peerStreams

свойство 
peerStreams:Array  [только для чтения]

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10, AIR 1.5

Объект, содержащий все подписывающие экземпляры NetStream, прослушивающие этот публикующий экземпляр NetStream.



Реализация
    public function get peerStreams():Array

soundTransform

свойство 
soundTransform:flash.media:SoundTransform

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9

Управляет звуком в данном объекте NetStream. Дополнительные сведения см. в описании класса SoundTransform.

Примечание. Это свойство не поддерживается для видео H.264 в среде AIR 3.0 для ОС iOS.



Реализация
    public function get soundTransform():flash.media:SoundTransform
    public function set soundTransform(value:flash.media:SoundTransform):void

Связанные элементы API

time

свойство 
time:Number  [только для чтения]

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Положение точки воспроизведения (в секундах).

Flash Media Server Для подписывающего потока — число секунд воспроизведения потока. Для публикующего потока — продолжительность публикации потока (в секундах). Это число используется с точностью до тысячных долей. Умножьте его на 1000, чтобы получить число миллисекунд воспроизведения потока.

Если для подписывающего потока сервер прекращает отправку данных, но при этом сам поток остается открытым, то значение свойства time перестает увеличиваться. Когда сервер начинает повторную отправку данных, значение, которое существовало на момент прекращения отправки данных сервером, продолжает увеличиваться.

Значение time продолжает увеличиваться, когда поток переключается с одного элемента списка воспроизведения на другой. Данное свойство получает значение 0, когда NetStream.play() вызывается с параметром reset, значение которого равно 1 или true, а также при вызове метода NetStream.close().



Реализация
    public function get time():Number

Связанные элементы API

useHardwareDecoder

свойство 
useHardwareDecoder:Boolean

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 11, AIR 3

Указывает необходимость использования аппаратно-ускоренного декодирования в потоке.

Примечание. Нельзя задавать это свойство во время воспроизведения видео. Необходимо задать его перед вызовом метода NetStream.play().

Значением по умолчанию является true.



Реализация
    public function get useHardwareDecoder():Boolean
    public function set useHardwareDecoder(value:Boolean):void

Связанные элементы API

useJitterBuffer

свойство 
useJitterBuffer:Boolean

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 11.3, AIR 3.3

Уменьшите задержку для интерактивной небуферизованной потоковой передачи (bufferTime = 0). Вместо традиционного механизма синхронизированного захвата звуковые сообщения помещаются в подстраиваемый буфер пакетов. Когда аудиосодержимое требуется на устройстве вывода звука, сообщения выталкиваются из буфера пакетов, декодируются и воспроизводятся. Кодеки Speex и G.711 всегда используют подход на основе синхронизации вне зависимости от этих настроек (useJitterBuffer возвращает значение true для Speex/G.711). После включения в небуферизированном режиме все кодеки, такие как Speex, G.711, Nellymoser, MP3 и AAC, используют буфер пакетов. Это свойство не работает в буферизированном режиме (bufferTime > 0), поэтому useJitterBuffer возвращает значение false.



Реализация
    public function get useJitterBuffer():Boolean
    public function set useJitterBuffer(value:Boolean):void

videoReliable

свойство 
videoReliable:Boolean

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10.1, AIR 2

Для подключений RTMFP указывает, отправляется ли видео с обеспечением полной надежности. Когда имеет значение TRUE, все видеоданные передаются через этот объект NetStream с обеспечением полной надежности. Когда имеет значение FALSE, надежность передаваемых видеоданных не обеспечивается, вместо этого видео передается в течение ограниченного времени, а затем обрывается. Можно использовать значение FALSE, чтобы уменьшить время ожидания за счет качества видео.

Попытка задать этому свойству значение FALSE при использовании сетевого протокола, который не поддерживает частичную надежность, игнорируется, и свойству задается значение TRUE.

Примечание. Это свойство не поддерживается для видео H.264 в среде AIR 3.0 для ОС iOS.



Реализация
    public function get videoReliable():Boolean
    public function set videoReliable(value:Boolean):void

Связанные элементы API

videoSampleAccess

свойство 
videoSampleAccess:Boolean

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10.1, AIR 2

Для подключений RTMFP определяет разрешено ли абонентам одноранговой сети в данном объекте NetStream захватывать видеопоток. Когда имеет значение FALSE, при попытке абонента захватить видеопоток выводятся ошибки прав доступа.

Примечание. Это свойство не поддерживается для видео H.264 в среде AIR 3.0 для ОС iOS.



Реализация
    public function get videoSampleAccess():Boolean
    public function set videoSampleAccess(value:Boolean):void

Связанные элементы API

videoStreamSettings

свойство 
videoStreamSettings:VideoStreamSettings

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 11/ConnectAddin, AIR 3

Укажите свойства сжатия потока. Дополнительные сведения см. в информации по VideoStreamSettings Когда к системе не подключены камеры, возвращается нулевое значение.



Реализация
    public function get videoStreamSettings():VideoStreamSettings
    public function set videoStreamSettings(value:VideoStreamSettings):void

Связанные элементы API

Сведения о конструкторе

NetStream

()Конструктор
public function NetStream(connection:NetConnection, peerID:String = "connectToFMS")

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Создает поток, который можно использовать для воспроизведения медиафайлов и отправки данных через объект NetConnection.

Отсутствие обработки события netStatus объекта NetStream считается недопустимым. Во избежание ошибок следует регистрировать прослушиватель события netStatus после создания объекта NetStream и до вызова его метода play().

Параметры
connection:NetConnection — Объект NetConnection
 
peerID:String (default = "connectToFMS") — Этот дополнительный параметр доступен в Flash Player 10 и более поздних версий и предназначен для работы с подключениями RTMFP. (Если свойству NetConnection.protocol не задано значение "rtmfp", этот параметр игнорируется.) Используйте одно из следующих значений.
  • Чтобы подключиться к серверу Flash Media Server, укажите NetStream.CONNECT_TO_FMS.
  • Чтобы провести публикацию непосредственно для одноранговых пользователей, укажите NetStream.DIRECT_CONNECTIONS.
  • Чтобы начать воспроизведение непосредственно с определенного однорангового узла, укажите идентификационные данные этого узла (см. описание NetConnection.nearID и NetConnection.farID).
  • (Flash Player 10.1 или AIR 2 или более поздней версии) Для публикации или воспроизведения потока в одноранговой многоадресной группе, укажите строку groupspec (см. класс GroupSpecifier).

В большинстве случаев groupspec обеспечивает возможность использования исходящего сетевого соединения в локальной системе. В этом случае у пользователя запрашивают разрешение на использование сетевых ресурсов компьютера. Если пользователь дает разрешение, событие NetStatusEvent NetStream.Connect.Success отправляется прослушивателю событий объекта NetConnection. Если пользователь не дает разрешение, отправляется событие NetStream.Connect.Rejected. При определении свойства groupspec до получения события NetStream.Connect.Success нельзя использовать методы объекта NetStream, иначе выдается исключение.

Если этот параметр передается конструктору со значением null, задается значение "connectToFMS".


Выдает
ArgumentError — Экземпляр NetConnection не подключен.

Связанные элементы API


Пример  ( Использование этого примера )

Следующий код демонстрирует подключение для загрузки и последовательного воспроизведения видео, назначенного переменной videoURL:
var my_video:Video = new Video();
addChild(my_video);
var my_nc:NetConnection = new NetConnection();
my_nc.connect(null);
var my_ns:NetStream = new NetStream(my_nc);
my_video.attachNetStream(my_ns);
my_ns.play(videoURL);

Следующий код демонстрирует подключение для потоковой передачи и воспроизведения видео (назначенного переменной videoURL) на удаленном экземпляре Flash Media Server, заданном в команде connect():
var my_video:Video = new Video();
addChild(my_video);
var my_nc:NetConnection = new NetConnection();
my_nc.connect("rtmp://www.yourfmsserver.com/someappname");
var my_ns:NetStream = new NetStream(my_nc, NetStream.CONNECT_TO_FMS);
my_video.attachNetStream(my_ns);
my_ns.play(videoURL);
Сведения о методе

appendBytes

()метод
public function appendBytes(bytes:ByteArray):void

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10.1, AIR 2

Передает объект ByteArray в экземпляр NetStream для воспроизведения. Вызовите этот метод для объекта NetStream в режиме создания данных. Чтобы перевести объект NetStream в режим создания данных, вызовите метод NetStream.play(null) для экземпляра NetStream, созданного для объекта NetConnection, который подключен к null. Метод appendBytes() нельзя вызывать для объекта NetStream, который не находится в режиме создания данных, в противном случае выдается исключение.

Примечание. Этот метод не поддерживается для видео H.264 в среде AIR 3.0 для ОС iOS.

Анализатор байт распознает FLV-файл с заголовком. После синтаксического разбора заголовка метод appendBytes() рассматривает все последующие вызовы продолжением того же реального или виртуального файла. Другие заголовки не ожидаются, если не будет вызван метод appendBytesAction(NetStreamAppendBytesAction.RESET_BEGIN).

Объект NetStream имеет два буфера: буфер FIFO, передаваемый методом appendBytes() объекту NetStream, и буфер воспроизведения. FIFO — это буфер повторной сборки частичного тега FLV, который содержит не более одного неполного тега FLV. Вызовы метода NetStream.seek() опустошают оба буфера. После вызова метода seek() необходимо вызвать метод appendBytesAction(), чтобы сбросить временную шкалу и поместить начало в метку времени следующего добавленного сообщения.

Каждый вызов метода appendBytes() добавляет байты в буфер FIFO, пока тег FLV не будет полным. Когда тег FLV становится полным, он перемещается в буфер воспроизведения. Вызов метода appendBytes() может записать несколько тегов FLV. Начальные байты дополняют существующий тег FLV (который перемещается в буфер воспроизведения). Полные теги FLV перемещаются в буфер воспроизведения. Остальные байты, которые не образуют полного тега FLV, попадают в буфер FIFO. Байты в буфере FIFO дополняются вызовом метода appendBytes() или опустошаются вызовом метода appendBytesAction() с аргументом RESET_SEEK или RESET_BEGIN.

Примечание. Анализатор байт может быть не в состоянии полностью раскодировать вызов appendBytes() до следующего вызова appendBytes().

Параметры

bytes:ByteArray

Связанные элементы API

appendBytesAction

()метод 
public function appendBytesAction(netStreamAppendBytesAction:String):void

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10.1, AIR 2

Указывает на отсутствие непрерывности временной шкалы, опустошает буфер FIFO и предписывает анализатору байт ожидать заголовок файла или начало тега FLV.

Примечание. Этот метод не поддерживается для видео H.264 в среде AIR 3.0 для ОС iOS.

Вызовы метода NetStream.seek() опустошают буферы объекта NetStream. Анализатор байтов остается в режиме опустошения, пока не будет вызван метод appendBytesAction() с аргументом RESET_BEGIN или RESET_SEEK. Прослушивайте событие "NetStream.Seek.Notify", чтобы вызвать метод appendBytesAction() после поиска. Новый заголовок файла может поддерживать списки воспроизведения и поиск без вызова NetStream.seek().

Этот метод также можно использовать для сброса счетчика байт при обратном вызове onSeekPoint().

Параметры

netStreamAppendBytesAction:String

Связанные элементы API

attach

()метод 
public function attach(connection:NetConnection):void

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10.1, AIR 2

Присоединяет поток к новому объекту NetConnection. Вызовите этот метод, чтобы присоединить NetStream к новому объекту NetConnection после обрыва и восстановления подключения. Flash Player и AIR восстанавливают потоковую передачу с той точки воспроизведения, в которой было разорвано соединение. Этот метод также можно использовать для распределения нагрузки.

Для использования этого метода требуется Flash Media Server версии 3.5.3.

Сведения об использовании данного метода для повторного подключения потока см. в документации по Flash Media Server 3.5.3.

Чтобы использовать этот метод для распределения нагрузки, выполните следующие действия.

  1. Присоедините подключенный поток к объекту NetConnection на другом сервере.
  2. После успешного присоединения потока к новому подключению, вызовите метод NetConnection.close() для предыдущего подключения, чтобы предотвратить утечку данных.
  3. Вызовите NetStream.play2() и задайте свойству NetStreamPlayOptions.transition значение RESUME. Задайте остальным свойствам объекта NetStreamPlayOptions те же значения, которые использовались при вызове метода NetStream.play() или NetStream.play2() для начала потоковой передачи.

Параметры

connection:NetConnection

Связанные элементы API

attachAudio

()метод 
public function attachAudio(microphone:Microphone):void

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9

Присоединяет аудиопоток, отправляемый через объект NetStream из объекта Microphone, переданного в качестве источника. Данный метод доступен только издателю указанного потока.

Используйте этот метод с Flash Media Server, чтобы отправить на сервер аудиопоток в реальном времени. Вызовите этот метод до или после вызова publish().

Задайте свойство Microphone.rate в соответствии с частотой звукозаписывающего устройства. Вызовите метод setSilenceLevel(), чтобы задать порог уровня тишины. Чтобы управлять свойствами звука аудиопотока (громкостью и панорамированием), используйте свойство Microphone.soundTransform.

     var nc:NetConnection = new NetConnection();
     nc.connect("rtmp://server.domain.com/app");
     var ns:NetStream = new NetStream(nc);
     
     var live_mic:Microphone = Microphone.get();
     live_mic.rate = 8;
     live_mic.setSilenceLevel(20,200);
     
     var soundTrans:SoundTransform = new SoundTransform();
     soundTrans.volume = 6;
     live_mic.soundTransform = soundTrans;
     
     ns.attachAudio(live_mic);
     ns.publish("mic_stream","live")
     

Чтобы услышать звук, вызовите метод NetStream.play(), а затем DisplayObjectContainer.addChild() для маршрутизации аудио к объекту в списке отображения.

Параметры

microphone:Microphone — Источник передаваемого аудиопотока.

Связанные элементы API

attachCamera

()метод 
public function attachCamera(theCamera:Camera, snapshotMilliseconds:int = -1):void

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9

Начинает захват видео с видеокамеры, либо останавливает запись, если параметр theCamera имеет значение null. Данный метод доступен только издателю указанного потока.

Данный метод используется при работе с сервером Flash Media Server (более подробную информацию см. в описании класса).

Чтобы начать передачу, следует после прикрепления видеоисточника вызвать метод NetStream.publish(). Чтобы отобразить видео в рабочей области, подписчики, которым необходимо отобразить видеоданные, должны вызвать методы NetStream.play() и Video.attachCamera().

С помощью snapshotMilliseconds можно отправить отдельный снимок (необходимое значение 0) или серию снимков (для создания эффектов замедленной киносъемки). Для этого нужно указать положительное число, которое добавляет в видеоданные концевой кадр на указанное число миллисекунд. Концевой кадр увеличивает время отображения видеосообщения. С помощью повторных вызовов метода attachCamera() с положительным значением для параметра snapshotMilliseconds последовательность сменяющих друг друга снимков и концевых кадров создает эффект замедленной киносъемки. Например, вы можете снимать по одному кадру в день и вставлять такой кадр в видеофайл. Когда подписчик воспроизводит файл, каждый кадр отображается на экране заданное количество миллисекунд, а затем сменяется на следующий кадр.

Функция параметра snapshotMilliseconds отличается от функции параметра fps, который можно установить для метода Camera.setMode(). Определение параметра snapshotMilliseconds позволяет установить промежуток времени между записываемыми кадрами. Контроль за тем, сколько времени проходит между записью и воспроизведением, осуществляется путем определения параметра fps с помощью Camera.setMode().

Например, предположим, что вам необходимо сделать 100 снимков с периодичностью в 5 минут. Это можно выполнить двумя различными способами:

  • Можно 100 раз, через каждые 5 минут, запустить команду NetStream.attachCamera(myCamera, 500). На эту запись потребуется 500 минут, но полученный файл будет воспроизводиться в течение 50 секунд (100 кадров с промежутком в 500 миллисекунд).
  • Можно запустить команду Camera.setMode(), установив для параметра fps значение 1/300 (1 раз в 300 секунд или 1 раз каждые 5 минут), а затем запустить команду NetStream.attachCamera(source), позволяя камере непрерывно захватывать данные в течение 500 минут. Полученный файл будет воспроизводиться 500 минут (тот же отрезок времени, который потребовался для записи данных): каждый кадр будет отображаться на экране в течение 5 минут.

В обоих случаях захватываются одни и те же 500 кадров, и оба подхода имеют функциональное применение. Выбор нужного подхода в основном зависит от требований к воспроизведению снятого материала. Например, во втором случае аудио может записываться на протяжении всего времени. Вдобавок, оба файла будут приблизительно одного размера.

Параметры

theCamera:Camera — Источник передачи видео. Допустимые значения: объект Camera (запускающий захват видео) и null. При установке значения null приложение прекращает захват видео, при этом любые дополнительные параметры, которые вы отправляете, игнорируются.
 
snapshotMilliseconds:int (default = -1) — Указывает, что собой представляет видеопоток: непрерывный поток, отдельный кадр или серия отдельных кадров, используемая для создания замедленной киносъемки.
  • Если опустить этот параметр, приложение будет записывать все видео до тех пор, пока значение null не будет передано методу attachCamera.
  • Если значение равно 0, приложение захватывает только один видеокадр. Используйте данное значение для передачи «снимков» в рамках предварительно существующего потока. Flash Player или AIR интерпретирует недопустимые, отрицательные или нечисловые аргументы как 0.
  • Если передать положительное число, приложение захватит одиночный видеокадр, а затем добавит паузу заданной длины в качестве концевого кадра на снимке. Используйте данное значение для создания эффектов замедленной киносъемки.

close

()метод 
public function close():void

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Останавливает воспроизведение всех данных в потоке, присваивает свойству time значение 0 и делает поток доступным для использования. Данный метод также удаляет локальную копию видеофайла, загруженную по протоколу HTTP. Несмотря на то, что приложение удаляет локальную копию созданного им файла, она может сохраняться в кэш-каталоге. Чтобы полностью предотвратить кэширование или локальное хранение видеофайла, используйте Flash Media Server.

При использовании Flash Media Server данный метод вызывается незаметно при вызове NetStream.play() из публикующего потока или при вызове NetStream.publish() из подписывающего потока. Обратите внимание:

  • Если из публикующего потока вызывается close(), поток прекращает публикацию, после чего издатель может использовать этот поток по другому назначению. Подписчики больше не получают данные, публикуемые в потоке, так как публикация потока была остановлена.
  • Если из подписывающего потока вызывается close(), то поток прекращает воспроизведение для подписчика, после чего подписчик может использовать данный поток для других целей. Это не касается остальных подписчиков.
  • С помощью flash.net.NetStream.play(false) можно остановить воспроизведение подписывающего потока без закрытия самого потока или изменения его типа.

Связанные элементы API

dispose

()метод 
public function dispose():void

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 11, AIR 3.0

Высвобождает все ресурсы, удерживаемые объектом NetStream.

Метод dispose() похож на метод close. Основное различие между этими двумя методами заключается в том, что метод dispose() высвобождает память, используемую для отображения текущего видеокадра. Если кадр в данный момент отображается на экране, экран станет пустым. Метод close() не очищает экран, поскольку он не высвобождает эту память.

onPeerConnect

()метод 
public function onPeerConnect(subscriber:NetStream):Boolean

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10, AIR 1.5, Flash Lite 4

Вызывается, когда поток одноранговой публикации совпадает с потоком одноранговой подписки. Перед тем как подписчик будет подключен к издателю, вызовите этот метод, чтобы обеспечить четкое управление доступом к коду ActionScript для одноранговой публикации. Следующий код демонстрирует создание функции обратного вызова для этого метода

     var c:Object = new Object;
     c.onPeerConnect = function(subscriber:NetStream):Boolean {
      if (accept)
          return true;
      else
          return false;
      };
      m_netStream.client = c;
     

Если одноранговый издатель не реализует этот метод, всем одноранговым узлам разрешается воспроизводить любое опубликованное содержимое.

Параметры

subscriber:NetStream

Возвращает
Boolean

pause

()метод 
public function pause():void

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Приостанавливает воспроизведение видеопотока. Вызов данного метода ни к чему не приводит, если видеопоток уже был приостановлен. Чтобы продолжить воспроизведение видео после временной остановки, вызовите resume(). Переключение между паузой и воспроизведением (сначала пауза, затем возобновление воспроизведения) выполняется с помощью togglePause().

Начиная с версии 9.0.115.0, проигрыватель Flash Player больше не очищает буфер при вызове метода NetStream.pause(). Такое поведение вызывается «умная пауза». До версии 9.0.115.0, перед тем как продолжить воспроизведение, проигрыватель Flash Player находился в ожидании заполнения буфера, что часто вызывало задержку.

Примечание. В целях обратной совместимости событие "NetStream.Buffer.Flush" (см. описание свойства NetStatusEvent.info) по-прежнему срабатывает, хотя сервер не сбрасывает буфер.

Для одиночной паузы свойство NetStream.bufferLength имеет ограничение в 60 секунд или удвоенное значение параметра NetStream.bufferTime (выбирается большее значение из двух). Например, если параметр bufferTime равен 20 секундам, то проигрыватель Flash Player заполняет буфер до тех пор, пока NetStream.bufferLength не примет верхнее значение 20*2 (40) или 60. В данном случае, буферизация проводится до того, как параметр bufferLength не будет иметь значение 60. Если параметр bufferTime равен 40 секундам, то проигрыватель Flash Player заполняет буфер до тех пор, пока bufferLength не примет верхнее значение 40*2 (80) или 60. В этом случае буферизация проводится до того, как параметр bufferLength не будет иметь значение 80.

Свойство bufferLength также имеет абсолютный предел. Если любой вызов pause() приводит к тому, что значение параметра bufferLength увеличивается на 600 секунд или на значение bufferTime * 2 (выбирается наибольшее из двух), проигрыватель Flash Player очищает буфер и устанавливает для параметра bufferLength значение, равное 0. Например, если значение параметра bufferTime равно 120 секундам, проигрыватель Flash Player заполняет буфер до тех пор, пока параметр bufferLength не примет значение в 600 секунд. Если значение параметра bufferTime - 360 секунд, то Flash Player заполняет буфер до тех пор, пока bufferLength не станет равным 720 секундам.

Совет: Метод NetStream.pause() можно использовать в коде для буферизации данных в тот момент, например, когда зрители смотрят рекламу, и последующего воспроизведения потока в начале основной видеопрограммы.

Связанные элементы API

play

()метод 
public function play(... arguments):void

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Воспроизводит медиафайл из локального каталога или с веб-сервера; воспроизводит медиафайл или эфирный поток с сервера Flash Media Server. Отправляет объект NetStatusEvent, чтобы передать сообщения о состоянии и ошибках.

Дополнительные сведения о поддерживаемых кодеках и форматах файлов см. в следующих ресурсах:

Рабочий процесс воспроизведения файла или эфирного потока

  1. Создайте объект Video, который будет отображать видео, и вызовите метод addChild(), чтобы добавить его на сцену.
  2. Создайте объект NetConnection и вызовите метод NetConnection.connect().

    Чтобы воспроизвести файл из локального каталога или с веб-сервера, передайте значение null.

    Чтобы воспроизвести записанный файл или эфирный поток с сервера Flash Media Server, передайте URI приложения Flash Media Server.

  3. Вызовите метод addEventListener() объекта NetConnection, чтобы прослушивать событие netStatus (NetStatusEvent.NET_STATUS).
  4. При получении события "NetConnection.Connect.Success" создайте объект NetStream и передайте объект NetConnection конструктору.
  5. Вызовите метод attachNetStream() объекта Video и передайте объект NetStream.
  6. Вызовите метод play() объекта NetStream.

    Чтобы воспроизвести эфирный поток, передайте имя потока из метода NetStream.publish().

    Чтобы воспроизвести записанный файл, передайте имя файла.

Примечание. Рекомендуется всегда добавлять объект Video на сцену, затем присоединять к нему NetStream, после чего вызывать метод play() объекта.

Включение режима создания данных

Вызовите метод play(null), чтобы перейти в режим создания данных. В этом режиме вызовите метод appendBytes(), чтобы доставить данные в объект NetStream. Используйте режим создания данных, чтобы передавать поток содержимого через HTTP из модуля динамической потоковой передачи HTTP Adobe на HTTP-сервере Apache. Динамическая потоковая передача через HTTP позволяет клиентам быстро выполнять поиск любой точки в файле. Платформа Open Source Media Framework (OSMF) поддерживает динамическую потоковую передачу через HTTP для потоков по требованию и в реальном времени. Чтобы получить примеры использования режима создания данных для объекта NetStream, загрузите исходный код OSMF. Дополнительные сведения о динамической потоковой передаче через HTTP см. в документе Динамическая потоковая передача через HTTP.

При использовании этого метода без Flash Media Server необходимо учитывать ограничения безопасности. Файл в локальной доверенной изолированной среде или среде, локальной для сети, может загружать и воспроизводить видеофайл из удаленной изолированной программной среды, но при этом он не имеет доступа к данным этого удаленного файла без явного разрешения в форме файла политик для URL. Также можно запретить SWF-файлу, выполняемому в приложении Flash Player, использовать этот метод путем установки параметра allowNetworking для тегов object и embed на странице HTML с SWF-содержимым. Дополнительные сведения о безопасности см. в разделе центра разработчиков Flash Player Безопасность.

Параметры

... arguments

Воспроизведение локального файла

Местоположение медиафайла. Аргумент может быть экземпляром String, свойством URLRequest.url или переменной, ссылающейся на то или другое. В содержимом Flash Player и AIR за пределами изолированной программной среды безопасности приложения можно воспроизводить локальные видеофайлы, хранящиеся в том же каталоге, что и SWF-файл, или во вложенном каталоге. Однако переход к каталогу более верхнего уровня невозможен.

Воспроизведение файла с сервера Flash Media Server

ИмяОбязательноеОписание
name:ObjectОбязательное Имя записанного файла, идентификатор для данных в реальном времени, опубликованных NetStream.publish(), или значение false. Если значение равно false, воспроизведение потока прекращается и любые дополнительные параметры игнорируются. Дополнительные сведения о синтаксисе имени файла см. в таблице с форматами файлов ниже следующей таблицы.
start:NumberДополнительно Время запуска (в секундах). Допустимые значения: -2, -1, 0 или любое положительное число. Значение по умолчанию: -2. В этом случае сначала идет поиск потока в реальном времени, затем — записанного потока. Если ни один из них не будет найден, то будет открыт поток в реальном времени. Использование -2 с файлами MP3 невозможно. Если значение равно -1, воспроизводится только поток в реальном времени. Если значение равно 0 или представлено положительным числом, воспроизводит записанный поток, начиная с секунд, указанных в параметре start.
len:Number Необязательно, если указан параметр start. Продолжительность воспроизведения (в секундах). Допустимые значения: -1, 0 или любое положительное число. Значение по умолчанию: -1. В этом случае до конца воспроизводится видео в реальном времени или записанный поток. Если значение равно 0, воспроизводится один кадр, находящийся start секунд от начала записанного потока. Если значением является положительное число, воспроизводится прямой или записанный поток в течение len секунд.
reset:Object Необязательно, если указан параметр len. Необходимо ли очистить список воспроизведения. Значение по умолчанию равно 1 или true. В этом случае очищаются все предыдущие вызовы play и сразу же воспроизводится name. Если значение равно 0 или false, то поток добавляется в список воспроизведения. Если значение равно 2, то список воспроизведения сохраняется, при этом все сообщения потока возвращаются не через определенные интервалы, а сразу. Если значение равно 3, то производится удаление списка воспроизведения и одновременный возврат всех сообщений потока.

Для воспроизведения доступны форматы файлов, описанные в следующей таблице. Синтаксис отличается в зависимости от формата файла.

Формат файлаСинтаксисПример
FLVУкажите имя потока (в каталоге samples) в виде строки без расширения имени файла.ns.play("samples/myflvstream");
MP3 или ID3Укажите имя потока (в каталоге samples) в виде строки с префиксом mp3: или id3: без расширения имени файла.

ns.play("mp3:samples/mymp3stream");

ns.play("id3:samples/myid3data");

Файлы на основе MPEG-4 (например, F4V и MP4)Укажите имя потока (в каталоге samples) в виде строки с префиксом mp4: Префикс показывает серверу, что файл содержит видео в кодировке H.264 и аудио в кодировке AAC и имеет формат контейнера MPEG-4 Part 14. Если у файла на сервере есть расширение имени файла, укажите его.

ns.play("mp4:samples/myvideo.f4v");

ns.play("mp4:samples/myvideo.mp4");

ns.play("mp4:samples/myvideo");

ns.play("mp4:samples/myvideo.mov");

RAWУкажите имя потока (в каталоге samples) в виде строки с префиксом raw:ns.play("raw:samples/myvideo");

Включение режима создания данных

Чтобы включить режим создания данных, передайте значение null объекту NetStream, созданному для объекта NetConnection, который подключен к null. В этом режиме вызовите appendBytes(), чтобы доставить данные в NetStream. (Когда передается значение null также сбрасывается счетчик байтов для обратного вызова onSeekPoint().)

Специальные рекомендации по использованию видео H.264 в среде AIR 3.0 для ОС iOS

Для видео H.264 API-интерфейсы iOS, предназначенные для воспроизведения видео, допускают использование только URL-адресов файла или потока. Нельзя передать в буфер видеоданные H264, подлежащие декодированию. В зависимости от источника видео передайте соответствующий аргумент в метод NetStream.play():

  • Для последовательного воспроизведения: передайте URL-адрес файла (локального или удаленного).

  • Для потоковой передачи видео: передайте URL-адрес списка воспроизведения в формате HLS (HTTP Live Streaming) компании Apple. Этот файл может быть размещен на любом сервере; сервер Flash Media Server 4.5 и более поздних версий имеет преимущество, поскольку поддерживает кодирование потоков в формат HLS.


События
status:StatusEvent — Отправляется при попытке воспроизвести содержимое, зашифрованное с помощью технологии управления цифровыми правами (DRM). Значением свойства code по умолчанию является DRM.encryptedFLV.

Выдает
SecurityError — Локальные ненадежные SWF-файлы изолированы от Интернета. Данное ограничение можно обойти, если переклассифицировать этот SWF-файл как локальный с сетевым подключением или доверенный.
 
ArgumentError — Необходимо указать не менее одного параметра.
 
Error — Недопустимый NetStream Object. Это может быть вызвано сбоем NetConnection.

Связанные элементы API


Пример  ( Использование этого примера )
Flash Media Server В данном примере воспроизводится записанный F4V-файл из каталога samples с самого начала в течение 100 секунд. При работе с файлами MPEG-4, если у файла на сервере есть расширение имени файла, то оно должно быть указано в методе play().
     ns.play("mp4:samples/record1.f4v", 0, 100, true);
     
Flash Media Server В данном примере воспроизводится прямой поток FLV, опубликованный клиентом, с начала и до конца, при этом происходит мгновенный запуск:
     ns.play("livestream");
     

Следующий пример демонстрирует загрузку внешнего файла FLV.
var MyVideo:Video = new Video();
addChild(MyVideo);
 
var MyNC:NetConnection = new NetConnection();
MyNC.connect(null);
 
var MyNS:NetStream = new NetStream(MyNC);
MyVideo.attachNetStream(MyNS);
MyNS.play("http://www.helpexamples.com/flash/video/clouds.flv");

//the clouds.flv video has metadata we're not using, so create
//an error handler to ignore the message generated by the runtime
//about the metadata
MyNS.addEventListener(AsyncErrorEvent.ASYNC_ERROR, asyncErrorHandler); 

function asyncErrorHandler(event:AsyncErrorEvent):void 
{ 
   //ignore metadata error message
} 

play2

()метод 
public function play2(param:NetStreamPlayOptions):void

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10, AIR 1.5, Flash Lite 4

Незаметно переключает файлы с различной скоростью передачи данных и обеспечивает возобновление NetStream в случае обрыва и восстановления подключения.

Этот метод представляет собой расширенную версию NetStream.play(). Как и play(), метод play2() начинает воспроизведение мультимедийного файла или отправляет мультимедийные файлы в очередь для создания списка воспроизведения. При использовании с Flash Media Server он может также запрашивать у сервера переключение на другой мультимедийный файл. Переход происходит незаметно для клиентского приложения. Переключение потоков с помощью метода play2() используется следующими функциями.

Создание динамических потоков

Динамическое потоковое воспроизведение (поддерживается в среде Flash Media Server 3.5 и более поздних версий) позволяет обслуживать поток, закодированный с использованием нескольких скоростей передачи данных. По мере изменения условий в сети пользователя, данные передаются с той скоростью, которая обеспечивает наилучшее качество просмотра. С помощью класса NetStreamInfo можно отслеживать условия работы сети и переключать потоки на основе полученных данных. Можно также переключать потоки для клиентов с различными возможностями. Дополнительные сведения см. в главе «Динамическая потоковая передача» в руководстве разработчика по Adobe Flash Media Server.

Adobe создал пользовательский класс ActionScript под названием DynamicStream, который расширяет класс NetStream. С помощью класса DynamicStream можно выполнять динамическую потоковую передачу в приложении вместо написания собственного кода для определения условий работы сети. Даже если вы решите написать собственный код для выполнения динамической потоковой передачи, используйте в качестве примера описание класса DynamicStream. Загрузите класс и документацию класса со страницы инструментов и загрузок Flash Media Server.

Повторно подключение потока

Повторное подключение потока (поддерживается в среде Flash Media Server 3.5.3 и более поздних версий) позволяет избежать перерывов при воспроизведении медиасодержимого, даже когда разрывается подключение. Медиасодержимое воспроизводится из буфера, пока логика ActionScript устанавливает повторное подключение к Flash Media Server. После повторного подключения вызовите метод NetStream.attach(), чтобы использовать тот же объект NetStream с новым экземпляром NetConnection. Повторно подключите поток с использованием NetStream.attach(), NetStreamPlayTransitions.RESUME и NetStreamPlayTrasitions.APPEND_AND_WAIT. Дополнительные сведения см. в документации по Flash Media Server 3.5.3.

Параметры

param:NetStreamPlayOptions

Связанные элементы API

preloadEmbeddedData

()метод 
public function preloadEmbeddedData(param:NetStreamPlayOptions):void

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.5, Flash Lite 4

Извлекает метаданные DRM из локального мультимедийного файла.

Используйте preloadEmbeddedMetaData() в качестве первого этапа загрузки и кэширования ваучеров DRM, необходимых для автономного просмотра. При обнаружении внедренных в мультимедийный файл метаданных DRM объект DRMContentData передается функции клиента NetStream onDRMContentData. Объект DRMContentData содержит информацию, необходимую для получения ваучера на воспроизведение содержимого. Для загрузки ваучера необходимо передать DRMContentDataObject методу DRMManager loadVoucher().

Предварительная загрузка ваучера DRM включает в себя следующие действия.

  • Создайте новый объект NetStream для предварительной загрузки метаданных.

  • Назначьте функцию обратного вызова свойству onDRMContentData для NetStream client.
  • Создайте новый объект NetStreamPlayOptions и установите его свойство streamName на строку URL-адреса локального видеофайла.
  • Вызовите метод preloadEmbeddedMetadata(), передав ему объект NetStreamPlayOptions.
  • В ответ на обратный вызов onDRMContentData вызовите метод DRMManager loadVoucher() с передачей ему объекта DRMContentData. Если свойству authenticationMethod объекта DRMContentData присвоено значение userNameAndPassWord, перед загрузкой ваучера необходимо, чтобы пользователь прошел проверку подлинности на сервере управления правами доступа к содержимому.
  • Закройте NetStream, использованный для предварительной загрузки.

Примечание. Чтобы использовать один и тот же объект NetStream для предварительной загрузки метаданных и воспроизведения содержимого, перед началом воспроизведения необходимо дождаться вызова onPlayStatus, генерируемого операцией предварительной загрузки.

Загруженные ваучеры хранятся в локальном кэше. При воспроизведении содержимого онлайн также загружаются и кэшируются ваучеры. При просмотре файла содержимого с защитой по технологии DRM кэшированный ваучер автоматически извлекается из локального хранилища. С помощью DRMManager можно управлять кэшем ваучеров.

Примечание. Предварительная загрузка метаданных DRM через соединение HTTP, HTTPS или RTMP не поддерживается. Метаданные можно предварительно загружать только из файлов, хранящихся в файловой системе.

Параметры

param:NetStreamPlayOptions — Объект NetStreamPlayOptions, описывающий параметры обработки файла содержимого.

Связанные элементы API

publish

()метод 
public function publish(name:String = null, type:String = null):void

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9

Отправляет потоковое аудио, видео и сообщения с данными от клиента на сервер Flash Media Server, также может записывать поток в ходе передачи. Этот метод отправляет объект NetStatusEvent с информацией о потоке. Перед вызовом NetStream.publish() прослушивайте событие "NetConnection.Connect.Success", чтобы убедиться, удалось ли приложению успешно подключиться к серверу Flash Media Server.

При публикации можно записывать файлы в формате FLV или F4V. При записи файла в формате F4V необходимо использовать средство преобразования для изменения или воспроизведения файла в другом приложении. Для загрузки инструмента см. www.adobe.com/go/fms_tools_ru.

Примечание.Не используйте этот метод для воспроизведения потоков. Для воспроизведения потока вызовите метод NetStream.play().

Рабочий процесс публикации потока

  1. Создайте объект NetConnection и вызовите метод NetConnection.connect().
  2. Вызовите метод NetConnection.addEventListener(), чтобы прослушивать события NetStatusEvent.
  3. При получении события "NetConnection.Connect.Success" создайте объект NetStream и передайте объект NetConnection конструктору.
  4. Для захвата аудио и видео требуется вызвать методы NetStream.attachAudio() и NetStream.attachCamera().
  5. Для публикации потока вызовите метод NetStream.publish(). В процессе публикации можно записывать данные, которые пользователи смогут позже воспроизвести.

Примечание.Объект NetStream можно выполнять либо публикацию, либо воспроизведение потока, но не два действия сразу. Чтобы опубликовать поток и запустить воспроизведение с сервера, создайте два объекта NetStream. Через один объект NetConnection можно отправлять несколько объектов NetStream.

Когда сервер Flash Media Server записывает поток, создается файл. По умолчанию сервер создает каталог, используя имя экземпляра приложения, переданное методу NetConnection.connect(), и сохраняет файл в этом каталоге. Например, следующий код подключается к экземпляру по умолчанию приложения lectureseries и записывает поток с именем lecture. Файл lecture.flv записывается в каталог applications/lectureseries/streams/_definst_:

     var nc:NetConnection = new NetConnection();
     nc.connect("rtmp://fms.example.com/lectureseries");
     nc.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
     
     function netStatusHandler(event:NetStatusEvent):void
     {
       if (event.info.code == "NetConnection.Connect.Success")
       {
            var ns:NetStream = new NetStream(nc);
            ns.publish("lecture", "record");
       }
     }
     

Следующий пример подключается к экземпляру того же приложения под именем monday. Файл lecture.flv записывается в каталог /applications/lectureseries/streams/monday:

     var nc:NetConnection = new NetConnection();
     nc.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
     nc.connect("rtmp://fms.example.com/lectureseries/monday");
     
     function netStatusHandler(event:NetStatusEvent):void
     {
       if (event.info.code == "NetConnection.Connect.Success")
       {
            var ns:NetStream = new NetStream(nc);
            ns.publish("lecture", "record");
       }
     }
     

Параметры

name:String (default = null) — Строка, идентифицирующая поток. Клиенты, подписывающиеся на данный поток, передают это имя при вызове метода NetStream.play(). Не ставьте после имени потока символ «/». Например, не используйте в качестве имени потока bolero/.

Файлы можно записывать в форматах, описанных в нижеследующей таблице (невозможно использовать publish() для файлов формата MP3). Синтаксис отличается в зависимости от формата файла.

Формат файлаСинтаксисПример
FLVУказать имя потока в виде строки без расширения имени файла.ns.publish("myflvstream");
Файлы на основе MPEG-4 (например, F4V или MP4)Указать имя потока в виде строки с префиксом mp4: с расширением имени файла или без него. Flash Player использует видеокодек H.263, а не H.264. Flash Media Server может сохранить в контейнере F4V данные любого кодека. Flash Media Live Encoder может выполнять кодировку с помощью H.264. ns.publish("mp4:myvideo.f4v") ns.publish("mp4:myvideo");
RAWУкажите имя потока в виде строки с префиксом raw:ns.publish("raw:myvideo");

 
type:String (default = null) — Строка, указывающая способ публикации потока. Допустимые значения: record, append, appendWithGap и live. Значение по умолчанию: live.
  • Если будет передано значение record, сервер публикует и записывает данные в реальном времени, сохраняя записанные данные в новом файле под именем, совпадающим со значением, которое было передано параметру name. Если файл существует, он будет перезаписан.
  • Если будет передано значение append, сервер публикует и записывает данные в реальном времени, сохраняя записанные данные в новом файле под именем, совпадающим со значением, которое было передано параметру name. Если не будет найден файл с идентичным значением параметра name, такой файл будет создан.
  • При передаче значения appendWithGap также передается дополнительная информация о координации времени, помогающая серверу определить правильную точку перехода при динамическом потоковом воспроизведении.
  • Если данный параметр опущен или передано значение live, сервер публикует данные в реальном времени, но не записывает их. Существующий файл, имя которого совпадает со значением, переданным параметру name, будет удален.

Связанные элементы API


Пример  ( Использование этого примера )

Следующий пример захватывает видео с камеры и публикует его с помощью NetStream на сервере Flash Media Server. Пример отображает видеоролик, который воспроизводится с сервера Flash Media Server.

Чтобы выполнить этот пример, к компьютеру должна быть подключена камера. Также необходимо добавить по одному компоненту Button и Label в библиотеку.

У приложения есть кнопка, которая публикует поток (отправляет его на Flash Media Server) только после того, как приложение успешно подключается к серверу. Приложение воспроизводит поток, получаемый с сервера только после того, как поток будет успешно опубликован. NetStatusEvent возвращает объект info со свойством code, описывающим эти случаи. Функция netStatusHandler обрабатывает эти события для классов NetConnection и NetStream.

package {
    import flash.display.Sprite;
    import flash.events.*;
    import flash.media.Video;
    import flash.media.Camera;
    import flash.net.NetConnection;
    import flash.net.NetStream;
    import fl.controls.Button;
    import fl.controls.Label;

    public class NetStream_publish extends Sprite {
        private var connectionURL:String = "rtmp://localhost/live/";
        private var videoURL:String = "liveVideo";
        private var nc:NetConnection;
        private var ns_publish:NetStream;
        private var ns_playback:NetStream;
        private var video_publish:Video;
        private var video_playback:Video;
        private var cam:Camera;
        private var b:Button;
        private var l:Label;

        public function NetStream_publish() {
            setUpUI();
            
            nc = new NetConnection();
            nc.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
            
            // Add bandwidth detection handlers on the NetConnection Client to
            // prevent Reference Errors at runtime when using the "live" and "vod" applications.          
            var clientObj:Object = new Object();
            clientObj.onBWDone = onBWDone;
            clientObj.onBWCheck = onBWCheck;
            nc.client = clientObj;
            
            // Connect to the "live" application on Flash Media Server.
            nc.connect(connectionURL);
        }

        private function netStatusHandler(event:NetStatusEvent):void {
            trace(event.info.code + " | " + event.info.description);
            switch (event.info.code) {
                case "NetConnection.Connect.Success":
                    // Enable the "Publish" button after the client connects to the server.
                    b.enabled = true;
                    break;
                case "NetStream.Publish.Start":
                    playbackVideo();
                    break;
            }
        }
    
        private function publishVideo(event:MouseEvent):void{
            // Disable the button so that you can only publish once.
            b.enabled = false;
            // Create a NetStream to send video to FMS.
            ns_publish = new NetStream(nc);
            ns_publish.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
            // Publish (send) the video to FMS.
            cam = Camera.getCamera();
            ns_publish.attachCamera(cam);
               ns_publish.publish(videoURL);
        }

        private function playbackVideo():void {
            // Create the Video object to show the video on the stage
            video_playback = new Video(cam.width, cam.height);
            video_playback.x = cam.width + 20;
            video_playback.y = 10;
            addChild(video_playback);
            // Create a NetStream to receive the video from FMS.
            ns_playback = new NetStream(nc);
            ns_playback.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
            // Display the video that was published to FMS.
                  video_playback.attachNetStream(ns_playback);
            ns_playback.play(videoURL); 
        }
        
        
        private function setUpUI():void { 
      b = new Button(); 
      b.addEventListener(MouseEvent.CLICK, publishVideo);
      b.width = 150;
            b.label = "Publish video to server";
            b.move(10, 150);
            b.enabled = false;
            
            l = new Label();
            l.width = 150;
            l.text = "Playing back from server"
            l.move(190, 150);
            
            addChild(b);
            addChild(l);
        }
        
        // Handlers called by the Flash Media Server "live" and "vod" applications.
        public function onBWDone(... rest):Boolean {
            return true;
        }
        
        public function onBWCheck(... rest):Number {
            return 0;
        }
    }
}

receiveAudio

()метод 
public function receiveAudio(flag:Boolean):void

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Определяет, воспроизводится ли входящий звук в потоке. Этот метод доступен только клиентам, оформившим подписку на указанный поток. Он недоступен издателю потока. Вызовите этот метод до или после вызова метода NetStream.play(). Например, подключите этот метод к кнопке, чтобы пользователи могли выключать и включать звук. Используйте этот метод только в потоках индивидуальной рассылки, которые воспроизводятся с сервера Flash Media Server. Этот метод не работает в потоках групповой передачи RTMFP или при использовании метода NetStream.appendBytes().

Параметры

flag:Boolean — Указывает, воспроизводится (true) или не воспроизводится (false) входящее аудио в потоке. По умолчанию используется значение true. Если указанный поток содержит только аудиоданные, NetStream.time останавливает увеличение при передаче значения false.

receiveVideo

()метод 
public function receiveVideo(flag:Boolean):void

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Определяет, воспроизводится ли входящее видео в потоке. Этот метод доступен только клиентам, оформившим подписку на указанный поток. Он недоступен издателю потока. Вызовите этот метод до или после вызова метода NetStream.play(). Например, подключите этот метод к кнопке, чтобы пользователи могли показать или скрыть видео. Используйте этот метод только в потоках индивидуальной рассылки, которые воспроизводятся с сервера Flash Media Server. Этот метод не работает в потоках групповой передачи RTMFP или при использовании метода NetStream.appendBytes().

Параметры

flag:Boolean — Указывает, воспроизводится (true) или не воспроизводится (false) входящее видео в этом потоке. По умолчанию используется значение true. Если указанный поток содержит только видеоданные, NetStream.time останавливает увеличение при передаче значения false.

receiveVideoFPS

()метод 
public function receiveVideoFPS(FPS:Number):void

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Указывает частоту кадров для входящего видео. Этот метод доступен только клиентам, оформившим подписку на указанный поток. Он недоступен издателю потока. Вызовите этот метод до или после вызова метода NetStream.play(). Например, вызовите этот метод, чтобы пользователи могли установить частоту видеокадров. Чтобы определить текущую частоту кадров, используйте NetStream.currentFPS. Чтобы остановить получение видео, передайте значение 0.

Если в целях ограничения частоты видеокадров передать определенное значение параметру FPS, проигрыватель Flash Media Server предпримет попытку снизить частоту кадров, при этом сохраняя целостность видеоизображения. Между каждыми двумя ключевыми кадрами сервер отправляет минимальное число кадров в соответствии с нужной частотой. Обратите внимание, что I-кадры (или промежуточные кадры) должны передаваться друг за другом, иначе видео будет повреждено. Таким образом, необходимое число кадров отправляется немедленно в сопровождении ключевого кадра. Так как кадры распределены неравномерно, движение выглядит сглаженным в тех сегментах, прерываемых остановками.

Используйте этот метод только в потоках индивидуальной рассылки, которые воспроизводятся с сервера Flash Media Server. Этот метод не работает в потоках групповой передачи RTMFP или при использовании метода NetStream.appendBytes().

Параметры

FPS:Number — Указывает частоту кадров (в секунду), с которой воспроизводится входящее видео.

resetDRMVouchers

()метод 
public static function resetDRMVouchers():void

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 11.8, Flash Lite 4

В приложениях AIR это приводит к удалению всех локально кэшированных данных ваучеров управления цифровыми правами (DRM). Для приложений, использующих браузер, такая ситуация возникает только при наличии ошибок 3322 и соответсвует действиям панели параметров воспроизведения защищенного содержимого.

Чтобы пользователь мог снова получить доступ к зашифрованному содержимому, приложение должно снова загрузить необходимые ваучеры с сервера управления правами доступа к содержимому. Вызов этой функции равнозначен вызову функции resetDRMVouchers() объекта DRMManager.


Выдает
IOError — Невозможно удалить данные ваучера.

Связанные элементы API


Пример  ( Использование этого примера )

Следующий пример сбрасывает все ваучеры DRM:
NetStream.resetDRMVouchers();

resume

()метод 
public function resume():void

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Возобновляет воспроизведение приостановленного видеопотока. Если видео уже воспроизводится, вызов данного метода ни к чему не приведет.

Связанные элементы API

seek

()метод 
public function seek(offset:Number):void

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Осуществляет поиск ключевого кадра (так называемого I-кадра), расположенного ближе всего к указанной точке. Ключевой кадр размещается в точке смещения, измеряемой в секундах от начала потока.

Видеопотоки обычно кодируются с двумя типами кадров: ключевые кадры (или I-кадры) и P-кадры. Ключевой кадр содержит все изображение, в то время как P-кадр является промежуточным кадром, предоставляющим дополнительную видеоинформацию между ключевыми кадрами. Как правило, в видеопотоке ключевой кадр ставится через каждые 10-50 кадров.

Во Flash Media Server предусмотрено несколько типов поведения поиска: улучшенный поиск и интеллектуальный поиск.

Улучшенный поиск

Улучшенный поиск включен по умолчанию. Чтобы выключить улучшенный поиск, во Flash Media Server задайте элементу EnhancedSeek в файле конфигурации Application.xml значение false.

Если включен интеллектуальный поиск, то сервер генерирует новый ключевой кадр в точке смещения offset на основе предыдущего ключевого кадра и любых промежуточных P-кадров. Однако генерирование ключевых кадров создает большую нагрузку на вычислительные ресурсы сервера, что может привести к искажению сгенерированного ключевого кадра. Если в качестве видеокодека применяется On2, то клиенту отправляются ключевой кадр перед точкой поиска и любые P-кадры между ключевым кадром и точкой поиска.

Если улучшенный поиск выключен, сервер начинает потоковое воспроизведение с ближайшего ключевого кадра. Предположим, что видеопоток имеет ключевые кадры на 0-й и 10-й секундах. При попытке перейти на 4-ю секунду, воспроизведение начинается с 4-й секунды, исходя из ключевого кадра на 0-й секунде. Изображение не меняется до тех пор, пока на десятой секунде не будет достигнут следующий ключевой кадр. Для того чтобы оптимизировать операцию поиска, необходимо сократить интервал между ключевыми кадрами. В нормальном режиме поиска нельзя запустить видео в точке между ключевыми кадрами.

Интеллектуальный поиск

Чтобы включить умный поиск, задайте для NetStream.inBufferSeek значение true.

Интеллектуальный поиск позволяет Flash Player осуществлять поиск в существующем предшествующем и последующем буфере. Когда интеллектуальный буфер выключен, при каждом вызове seek() Flash Player опустошает буфер и запрашивает данные с сервера. Дополнительные сведения см. в описании NetStream.inBufferSeek.

Поиск в режиме создания данных

Когда метод seek() вызывается для объекта NetStream в режиме создания данных, все байты, передаваемые после этого методу appendBytes(), игнорируются (не помещаются в буфер, не собираются в FIFO частичных сообщений и не анализируется для определения точек поиска), пока не будет вызван метод appendBytesAction(NetStreamAppendBytesAction.RESET_BEGIN) или appendBytesAction(NetStreamAppendBytesAction.RESET_SEEK) для сброса синтаксического анализатора. Сведения о режиме создания данных см. в описании метода NetStream.play().

Параметры

offset:Number — Приблизительное время (в секундах), к которому надо перейти в видеофайле. Если при работе с Flash Media Server параметр <EnhancedSeek> имеет значение true в файле конфигурации Application.xml (значение по умолчанию), сервер генерирует ключевой кадр со смещением offset.
  • Чтобы вернуться в начало потока, укажите 0 для offset.
  • Чтобы выполнить прямой поиск от начала потока, передайте число секунд, которое надо пропустить. Например, чтобы установить точку воспроизведения через 15 секунд от начала видео (или ключевой кадр перед 15 секундами), используйте myStream.seek(15).
  • Для поиска относительно текущего положения передайте NetStream.time + n или NetStream.time - n, чтобы поиск начинался на n секунд вперед или назад относительно текущего положения. Например, чтобы перейти на 20 секунд вперед от текущего положения, используйте синтаксис NetStream.seek(NetStream.time - 20).

Связанные элементы API

send

()метод 
public function send(handlerName:String, ... arguments):void

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9

Отправляет сообщение по опубликованному потоку всем подписавшимся клиентам. Данный метод доступен только издателю указанного потока. Этот метод доступен только для использования вместе с сервером Flash Media Server. Чтобы обработать данное сообщение и отреагировать на него, создайте обработчик на объекте NetStream - например, ns.HandlerName.

Приложение Flash Player или AIR не проводит сериализацию методов или их данных, переменных для прототипов объектов или несчетных переменных. Для отображаемых объектов проигрыватель Flash Player или AIR сериализует не данные, а только сам путь.

Для добавления ключевых кадров данных в прямой поток, публикуемый на сервер Flash Media Server, можно вызвать метод send(). Ключевой кадр данных — это сообщение, добавляемое сервером публикаций в прямой поток. Ключевые кадры данных обычно используются для добавления метаданных в прямой поток до того, как будет происходить захват данных (для этого потока) с камеры и микрофона. Издатель может добавлять ключевой кадр данных в любой момент в процессе публикации прямого потока. Ключевой кадр данных хранится в памяти сервера, пока издатель подключен к данному серверу.

Клиенты, подписанные на прямой поток до добавления ключевого кадра данных, получают этот кадр в момент его добавления в поток. Клиенты, подписывающиеся на прямой поток после добавления ключевого кадра данных, получают этот кадр в момент подписки.

Для добавления ключевого кадра метаданных в прямой поток, отправляемый на сервер Flash Media Server, используйте @setDataFrame в качестве имени обработчика, а затем добавьте два дополнительных аргумента, например:

     var ns:NetStream = new NetStream(nc);
     ns.send("@setDataFrame", "onMetaData", metaData);
     

Аргумент @setDataFrame ссылается на специальный обработчик, встроенный в сервер Flash Media Server. Аргумент onMetaData — это имя функции обратного вызова в клиентском приложении, которая прослушивает событие onMetaData и извлекает метаданные. Третий элемент, metaData, представляет собой экземпляр Object или Array со свойствами, определяющими значения метаданных.

Для удаления ключевого кадра метаданных, который был предварительно определен в потоке, используйте @clearDataFrame:

     ns.send("@clearDataFrame", "onMetaData");
     

Параметры

handlerName:String — Отправляемое сообщение, а также имя обработчика ActionScript, который должен получить это сообщение. Имя обработчика должно быть исключительно одноуровневым (то есть, форма «родительский/дочерний объект» не используется) и связанным с объектом потока. Не используйте в качестве имени обработчика зарезервированный термин. Например, использование close в качестве имени обработчика приводит к сбою метода. При работе с Flash Media Server используйте @setDataFrame, чтобы добавить ключевой кадр метаданных в прямой поток, а @clearDataFrame - чтобы удалить ключевой кадр.
 
... arguments — Необязательные (дополнительные) аргументы любого типа. Они сериализуются и отправляются посредством подключения, при этом принимающий обработчик получает их в том же самом порядке. Если параметр представляет собой объект круглой формы (например, связанный в круглую форму список), сериализатор обрабатывает ссылки надлежащим образом. Если при работе с Flash Media Server в качестве первого аргумента используется @setDataFrame, то как второй аргумент следует использовать onMetaData. В качестве третьего аргумента передайте экземпляр Object или Array, в котором свойствами выступают метаданные. Для получения списка предлагаемых имен свойств см. Flash Media Server Developer Guide. Если в качестве первого аргумента указан @clearDataFrame, в качестве второго аргумента используйте onMetaData, третий аргумент не требуется.

Связанные элементы API


Пример  ( Использование этого примера )

В следующем примере создаются два объекта NetStream. Один используется для публикации потока в реальном времени на сервере, в то время как второй объект осуществляет подписку на данный поток.
package {
   import flash.display.Sprite;
   import flash.net.NetConnection;
   import flash.net.NetStream;
   import flash.events.NetStatusEvent;
   import flash.media.Video;
   import flash.utils.setTimeout;

 
   public class TestExample extends Sprite
   {
     var nc:NetConnection = new NetConnection();
     var ns1:NetStream;
     var ns2:NetStream;
     var vid:Video = new Video(300,300);
     var obj:Object = new Object();
 
     public function TestExample() {
        nc.objectEncoding = 0;
        nc.addEventListener("netStatus", onNCStatus);
        nc.connect("rtmp://localhost/FlashVideoApp");
        addChild(vid); 
     }
  
     function onNCStatus(event:NetStatusEvent):void {
       switch (event.info.code) {
           case "NetConnection.Connect.Success":
               trace("You've connected successfully");
               ns1 = new NetStream(nc);
               ns2 = new NetStream(nc);
               
               ns1.client = new CustomClient();
               ns1.publish("dummy", "live");
    
               ns2.client = new CustomClient();
               vid.attachNetStream(ns2);
               ns2.play("dummy");
               setTimeout(sendHello, 3000);
               break;
              
           case "NetStream.Publish.BadName":
               trace("Please check the name of the publishing stream" );
               break;
        }   
     }

     function sendHello():void {
         ns1.send("myFunction", "hello");
     }       
   }
 }
 
 class CustomClient {
    public function myFunction(event:String):void {
       trace(event);
    }
 }

В следующем примере создаются метаданные, которые затем добавляются в поток реального времени:
private function netStatusHandler(event:NetStatusEvent):void {
     switch (event.info.code) {  
        case "NetStream.Publish.Start":
            var metaData:Object = new Object();
            metaData.title = "myStream";
            metaData.width = 400;
            metaData.height = 200;
            ns.send("@setDataFrame", "onMetaData", metaData);
            ns.attachCamera( Camera.getCamera() );
            ns.attachAudio( Microphone.getMicrophone() );        
    }
}

Чтобы отреагировать на ключевой кадр данных, добавленный в видео, клиенту необходимо определить обработчик событий onMetaData. Обработчик событий onMetaData не регистрируется с методом addEventListener(). Он представляет собой функцию обратного вызова с именем onMetaData, например:
 public function onMetaData(info:Object):void {
    trace("width: " + info.width);
    trace("height: " + info.height);
 }

В данном примере показан процесс создания списка воспроизведения на сервере:
 // Create a NetStream for playing
 var my_ns:NetStream = new NetStream(my_nc);
 my_video.attachNetStream(my_ns);
 
 // Play the stream record1
 my_ns.play("record1", 0, -1, true);
 
 // Switch to the stream live1 and play for 5 seconds.  
 // Since reset is false, live1 will start to play after record1 is done.
 my_ns.play("live1", -1 , 5, false);

Если записанный видеофайл содержит только блоки данных, вы можете воспроизвести видеофайл с той скоростью, на которой он был изначально записан, или просто сразу получить все блоки данных.
 //To play at normal speed
 var my_ns:NetStream = new NetStream(my_nc);
 my_ns.play("log", 0, -1);
 
 //To get the data messages all at once
 my_ns.play("log", 0, -1, 3);

setDRMAuthenticationCredentials

()метод 
public function setDRMAuthenticationCredentials(userName:String, password:String, type:String):void

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Lite 4

Задает учетные данные для прохождения аутентификации DRM, необходимой для просмотра соответствующего зашифрованного содержимого.

Метод setDRMAuthenticationCredentials() должен предоставлять учетные данные, известные поставщику содержимого или прокси-серверу и принимаемые ими. Это те же учетные данные, которые пользователь использует при получении разрешения на просмотр содержимого.

Параметры

userName:String — Действительное имя пользователя.
 
password:String — Пароль для предоставленного имени пользователя.
 
type:String — Строка, указывающая тип предоставленных учетных данных для аутентификации. Допустимыми значениями являются drm и proxy. Значением по умолчанию является drm.
  • Тип проверки подлинности "drm" сопоставляет учетные данные с информацией на сервере Flash Access.
  • Если задан тип аутентификации proxy, предоставленные учетные данные проверяются с помощью прокси-сервера и должны совпадать с данными этого сервера. Например, вариант proxy позволяет приложению выполнять проверку подлинности на прокси-сервере, если организация требует от пользователя выполнения этого шага перед выходом в Интернет. Если не используется анонимная проверка подлинности, то после проверки подлинности на прокси-сервере пользователю все равно нужно пройти авторизацию Flash Access, чтобы получить ваучер и воспроизвести содержимое. Метод setDRMAuthenticationcredentials() можно использовать во второй раз с параметром "drm" для проверки подлинности Flash Access.

Связанные элементы API

step

()метод 
public function step(frames:int):void

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10.1, AIR 2

Переходит вперед или назад на указанное число кадров относительно отображаемого в данный момент кадра. Задайте положительное число для перехода вперед или отрицательное для перехода назад. Вызовите этот метод, чтобы создать функцию точной перемотки вперед и назад.

Примечание. Этот метод не поддерживается для видео H.264 в среде AIR 3.0 для ОС iOS.

Этот метод доступен, только когда поток данных передается с сервера Flash Media Server версии 3.5.3 или более поздней и когда NetStream.inBufferSeek имеет значение true. Кроме того, целевой кадр должен находиться в буфере. Например, если в данный момент отображается кадр 120, а указано значение 1000, метод не срабатывает, если кадра 1120 нет в буфере.

Этот метод предназначен для использования вместе с методами pause() или togglePause(). Если во время воспроизведения делается шаг на 10 кадров вперед или назад без приостановки, эти шаги могут быть незаметными или выглядеть как дефект изображения. Кроме того, при вызове методов pause() или togglePause, выключается звук.

Если вызов NetStream.step() успешно выполняется, свойству code объекта info отправляется объект NetStatusEvent со значением NetStream.Step.Notify.

Параметры

frames:int

Связанные элементы API

togglePause

()метод 
public function togglePause():void

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

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

Связанные элементы API

Сведения о событии

asyncError

Событие
Тип объекта события: flash.events.AsyncErrorEvent
свойство AsyncErrorEvent.type = flash.events.AsyncErrorEvent.ASYNC_ERROR

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Отправляется, когда исключение создается асинхронным образом, то есть в коде, изначально имеющем асинхронную природу. Данное событие отправляется, если сервер вызывает метод на клиенте, который не был определен.

Константа AsyncErrorEvent.ASYNC_ERROR определяет значение свойства type объекта события asyncError.

Это событие имеет следующие свойства:

СвойствоЗначение
bubblesfalse
cancelablefalse; поведение по умолчанию, подлежащее отмене, не определено.
currentTargetОбъект, активно обрабатывающий объект Event с помощью прослушивателя событий.
targetОбъект, отправляющий событие.
errorОшибка, запускаемая событием.

Связанные элементы API

drmAuthenticate

Событие  
Тип объекта события: flash.events.DRMAuthenticateEvent
свойство DRMAuthenticateEvent.type = flash.events.DRMAuthenticateEvent.DRM_AUTHENTICATE

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Lite 4

Отправляется, когда объект NetStream пытается воспроизвести содержимое, зашифрованное с помощью технологии управления цифровыми правами (DRM) и требующее ввода учетных данных пользователя для проверки подлинности перед воспроизведением.

Примечание. Это событие не поддерживается для видео H.264 в среде AIR 3.0 для ОС iOS.

С помощью метода setDRMAuthenticationCredentials() объекта NetStream можно выполнить аутентификацию пользователя. При неудачной проверке подлинности пользователя приложение пытается проверить подлинность повторно и отправляет новое событие DRMAuthenticateEvent для объекта NetStream.

Константа DRMAuthenticateEvent.DRM_AUTHENTICATE определяет значение свойства type объекта DRMAuthenticateEvent.

Это событие имеет следующие свойства:

СвойствоЗначение
authenticationTypeУказывает, должны ли предоставленные учетные данные проверяться сервером Flash Media Rights Management Server (FMRMS) или прокси-сервером.
bubblesfalse
cancelablefalse; нет поведения по умолчанию для отмены.
headerЗаголовок файла с зашифрованным содержимым, передаваемый сервером.
netstreamОбъект NetStream, инициировавший событие.
passwordPromptЗапрос пароля пользователя, передаваемый сервером.
targetОбъект NetStream.
urlPromptЗапрос URL-адреса для отображения, передаваемый сервером.
usernamePromptЗапрос имени пользователя, передаваемый сервером.

Связанные элементы API

drmError

Событие  
Тип объекта события: flash.events.DRMErrorEvent
свойство DRMErrorEvent.type = flash.events.DRMErrorEvent.DRM_ERROR

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 10.1, Flash Lite 4

Отправляется, когда объект NetStream, пытающийся воспроизвести файл с DRM-шифрованием, сталкивается с ошибкой, связанной с DRM. Например, объект DRMErrorEvent отправляется в случае ошибки авторизации пользователя. Это может произойти потому, что пользователь не приобрел права на просмотр содержимого или поставщик содержимого не поддерживает приложение для его просмотра.

Примечание. Это событие не поддерживается для видео H.264 в среде AIR 3.0 для ОС iOS.

Константа DRMErrorEvent.DRM_ERROR определяет значение свойства type для объекта события drmError.

Это событие имеет следующие свойства:

СвойствоЗначение
bubblesfalse
cancelablefalse; поведение по умолчанию, подлежащее отмене, не определено.
errorIDЧисловой код ошибки, присвоенный проблеме.
subErrorIDКод ошибки, содержащий более подробную информацию о возникшей проблеме.
targetОбъект NetStream.

Связанные элементы API

drmStatus

Событие  
Тип объекта события: flash.events.DRMStatusEvent
свойство DRMStatusEvent.type = flash.events.DRMStatusEvent.DRM_STATUS

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 10.1, Flash Lite 4

Отправляется при начале воспроизведения содержимого, зашифрованного с помощью технологии управления цифровыми правами (DRM) (когда пользователь проходит аутентификацию и получает право на просмотр содержимого).

Примечание. Это событие не поддерживается для видео H.264 в среде AIR 3.0 для ОС iOS.

Объект DRMStatusEvent содержит информацию, связанную с ваучером, например о том, доступно ли содержимое в автономном режиме, когда истекает срок действия ваучера и пользователи больше не смогут смотреть содержимое.

Константа DRMStatusEvent.DRM_STATUS определяет значение свойства type объекта события drmStatus.

Это событие имеет следующие свойства:

СвойствоЗначение
bubblesfalse
cancelablefalse; поведение по умолчанию, подлежащее отмене, не определено.
detailСтрока, объясняющая контекст события состояния.
isAnonymousУказывает, доступно ли содержимое с DRM-шифрованием без запроса учетных данных пользователя для проверки подлинности.
isAvailableOfflineУказывает, доступно ли содержимое с DRM-шифрованием в автономном режиме.
offlineLeasePeriodОставшееся число дней, в течение которых содержимое можно просматривать в автономном режиме.
policiesПользовательский объект события состояния DRM.
targetОбъект NetStream.
voucherEndDateАбсолютная дата завершения срока действия ваучера, после которой содержимое становится недоступным для просмотра пользователями
contentDataОбъект DRMContentData для содержимого
voucherОбъект DRMVoucher для содержимого.
isLocalУказывает на то, хранится ли содержимое в локальной файловой системе

Связанные элементы API

ioError

Событие  
Тип объекта события: flash.events.IOErrorEvent
свойство IOErrorEvent.type = flash.events.IOErrorEvent.IO_ERROR

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Отправляется, когда происходит ошибка ввода-вывода, приводящая к сбою сетевой операции.

Задает значение свойства type для объекта события ioError.

Это событие имеет следующие свойства:

СвойствоЗначение
bubblesfalse
cancelablefalse; поведение по умолчанию, подлежащее отмене, не определено.
currentTargetОбъект, активно обрабатывающий объект Event с помощью прослушивателя событий.
errorIDСсылочный номер, связываемый с конкретной ошибкой (только AIR).
targetСетевой объект, с которым произошла ошибка ввода/вывода.
textТекст, отображаемый в качестве сообщения об ошибке.

mediaTypeData

Событие  
Тип объекта события: flash.events.NetDataEvent
свойство NetDataEvent.type = flash.events.NetDataEvent

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10.3, AIR 2.7

Отправляется при воспроизведении видеоконтента и обработке определенных типов сообщений.

NetDataEvent отправляется для следующих сообщений:

  • onCuePoint
  • onImageData
  • onMetaData
  • onPlayStatus (для кода NetStream.Play.Complete)
  • onTextData
  • onXMPData

Примечание. Это событие не отправляется содержимым, которое воспроизводит Flash Player в браузере на устройстве с ОС Android или Blackberry Tablet или которое выполняется в AIR для iOS.

netStatus

Событие  
Тип объекта события: flash.events.NetStatusEvent
свойство NetStatusEvent.type = flash.events.NetStatusEvent.NET_STATUS

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Отправляется, когда объект NetStream сообщает о своем состоянии или о случившейся ошибке. Событие netStatus содержит свойство info, представляющее собой информационный объект, который содержит определенные сведения о событии (например, количество успешных и неудачных попыток подключения).

Задает значение свойства type для объекта события netStatus.

Это событие имеет следующие свойства:

СвойствоЗначение
bubblesfalse
cancelablefalse; поведение по умолчанию, подлежащее отмене, не определено.
currentTargetОбъект, активно обрабатывающий объект Event с помощью прослушивателя событий.
infoОбъект со свойствами, описывающими состояние объекта или условие ошибки.
targetОбъект NetConnection или NetStream, сообщающий свое состояние.

Связанные элементы API

onCuePoint

Событие  

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Добавляет прослушиватель, реагирующий на достижение встроенной ключевой точки во время воспроизведения видеофайла. Данный прослушиватель можно использовать для запуска действий в коде, когда воспроизведение видео достигает определенной ключевой точки. Это позволяет синхронизировать другие действия в приложении с событиями воспроизведения видео. Дополнительные сведения о форматах видеофайлов, поддерживаемых Flash Media Server, см. на странице www.adobe.com/go/learn_fms_fileformats_ru.

Примечание. Это событие не поддерживается для видео H.264 в среде AIR 3.0 для ОС iOS.

onCuePoint на самом деле является свойством объекта NetStream.client. Это свойство можно найти в разделе «События», так как оно отвечает на событие данных при потоковой передаче мультимедийного содержимого с помощью Flash Media Server или при воспроизведении FLV-файла. Дополнительные сведения см. в описании класса NetStream. Нельзя использовать метод addEventListener() или любой другой метод EventDispatcher для прослушивания или обработки onCuePoint в качестве события. Определите функцию обратного вызова и присоедините ее к одному из следующих объектов:

  • Объект, на который ссылается свойство client экземпляра NetStream.
  • Экземпляр подкласса NetStream. NetStream представляет собой защищенный класс. Это означает, что при выполнении кода объекту NetStream не могут быть добавлены какие-либо свойства или методы. Создайте подкласс класса NetStream и определите в нем обработчик событий. Этот подкласс можно также сделать динамическим и добавить функцию обработчика события в его экземпляр.

Связанный прослушиватель событий запускается после вызова метода NetStream.play(), но перед продвижением точки воспроизведения.

В видеофайл можно встроить следующие типы ключевых точек:

  • Ключевая точка навигации указывает внутри видеофайла ключевой кадр, которому соответствует свойство time данной точки. Ключевые точки навигации часто используются как закладки или точки входа, облегчающие пользователям перемещение по видеофайлу.
  • Ключевая точка события указывает время. Время может не соответствовать определенному ключевому кадру. Ключевая точка события обычно представляет собой определенный момент видео, в котором происходит что-то, что можно использовать для вызова других событий.

Объект события onCuePoint имеет следующие свойства:

СвойствоОписание
nameИмя, присвоенное данной ключевой точке при встраивании в видеофайл.
parametersАссоциативный массив парных строк «имя-значение», определенных для данной ключевой точки. В качестве имени или значения параметра можно использовать любую допустимую строку.
timeВремя (в секундах) возникновения ключевой точки во время воспроизведения видеофайла.
typeТип достигнутой ключевой точки (точка навигации или события).

Ключевые точки в видеофайле можно определить при первом кодировании файла или при импортировании фрагмента ролика в инструменте разработки Flash с помощью мастера импорта видео.

Событие onMetaData также извлекает информацию о ключевых точках в видеофайле. Тем не менее, событие onMetaData получает информацию обо всех ключевых точках до начала воспроизведения видеоданных. Событие onCuePoint получает сведения об отдельной ключевой точке в момент времени, указанной для данной точки во время воспроизведения.

Как правило, для того чтобы ваш код отреагировал на определенную ключевую точку в момент ее возникновения, следует применить в коде событие onCuePoint, позволяющее инициировать какое-либо действие.

С помощью списка ключевых точек, предоставленных событию onMetaData, пользователь может начинать воспроизведение видео в предварительно определенных точках внутри видеопотока. Чтобы воспроизвести видео с определенной ключевой точки, передайте значение свойства time данной точки методу NetStream.seek().


Пример  ( Использование этого примера )

Следующий пример демонстрирует загрузку внешних файлов FLV и реагирование на метаданные и ключевые точки Пример предоставлен ActionScriptExamples.com.
var video:Video = new Video();
addChild(video);
 
var nc:NetConnection = new NetConnection();
nc.connect(null);
 
var ns:NetStream = new NetStream(nc);
ns.client = {};
ns.client.onMetaData = ns_onMetaData;
ns.client.onCuePoint = ns_onCuePoint;

video.attachNetStream(ns);
ns.play("http://www.helpexamples.com/flash/video/cuepoints.flv");

 
function ns_onMetaData(item:Object):void {
    trace("metaData");
    // Resize video instance.
    video.width = item.width;
    video.height = item.height;
    // Center video instance on Stage.
    video.x = (stage.stageWidth - video.width) / 2;
    video.y = (stage.stageHeight - video.height) / 2;
}
 
function ns_onCuePoint(item:Object):void {
    trace("cuePoint");
    trace(item.name + "\t" + item.time);
}

Связанные элементы API

onDRMContentData

Событие  

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.5, Flash Lite 4

Добавляет прослушиватель событий, реагирующий на извлечение приложением AIR метаданных DRM-содержимого, внедренных в мультимедийный файл.

Примечание. Это событие не поддерживается для видео H.264 в среде AIR 3.0 для ОС iOS.

Объект DRMContentData содержит информацию, необходимую для получения ваучера на воспроизведение мультимедийного файла с защитой по технологии DRM. С помощью класса DRMManager можно загрузить ваучер с данной информацией.

onDRMContentData является свойством объекта NetStream.client. Это свойство описывается в разделе «События», так как оно отвечает на событие данных при предварительной загрузке внедренных данных из локального мультимедийного файла. Дополнительные сведения см. в описании класса NetStream. Нельзя использовать метод addEventListener() или любой другой метод EventDispatcher для прослушивания или обработки onDRMContentData в качестве события. В данном случае необходимо определить отдельную функцию обратного вызова и прикрепить ее непосредственно к одному из следующих объектов:

  • Объект, на который ссылается свойство client экземпляра NetStream.
  • Экземпляр подкласса NetStream. NetStream представляет собой защищенный класс. Это означает, что при выполнении кода объекту NetStream не могут быть добавлены какие-либо свойства или методы. Тем не менее, можно создать подкласс NetStream и определить свой обработчик событий в этом подклассе. Также можно создать динамический подкласс и добавить функцию обработчика событий отдельному экземпляру подкласса.

Связанные элементы API

onImageData

Событие  

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9.0.115.0, Flash Lite 4

Добавляет прослушиватель событий, реагирующий на получение проигрывателем Flash Player графических данных в виде массива байт, встроенного в воспроизводимый мультимедийный файл. Данные изображения могут быть преобразованы в содержимое формата JPEG, PNG или GIF. Используйте метод flash.display.Loader.loadBytes() для загрузки байтового массива в экранный объект.

Примечание. Это событие не поддерживается для видео H.264 в среде AIR 3.0 для ОС iOS.

onImageData на самом деле является свойством объекта NetStream.client. Это свойство можно найти в разделе «События», так как оно отвечает на событие данных при потоковой передаче мультимедийного содержимого с помощью Flash Media Server или при воспроизведении FLV-файла. Дополнительные сведения см. в описании класса NetStream. Для прослушивания или обработки onImageData в качестве события нельзя использовать ни метод addEventListener(), ни любые другие методы EventDispatcher. Определите одну функцию обратного вызова и присоедините ее к одному из следующих объектов:

  • Объект, на который ссылается свойство client экземпляра NetStream.
  • Экземпляр подкласса NetStream. NetStream представляет собой защищенный класс. Это означает, что при выполнении кода объекту NetStream не могут быть добавлены какие-либо свойства или методы. Создайте подкласс класса NetStream и определите в нем обработчик событий. Этот подкласс можно также сделать динамическим и добавить функцию обработчика события в его экземпляр.

Связанный прослушиватель событий запускается после вызова метода NetStream.play(), но перед продвижением точки воспроизведения.

Объект события onImageData содержит данные изображения в качестве байтового массива, переданного по каналу данных AMF0.


Пример  ( Использование этого примера )

В данном примере код использует свойство Netstream.client для обработки функций обратного вызова для onTextData и onImageData. Для хранения байтового массива функция onImageDataHandler() использует объект события onImageData imageData. Функция onTextDataHandler() использует объект события onTextData textData для хранения блоков текстовых данных (каждый блок данных является свойством объекта textData).

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

Также для обработки данных изображения и текста можно использовать специальный класс. Дополнительные сведения и примеры см. в статье Обработка метаданных и ключевых точек в видеоматериалах Flash.

package {
    import flash.display.*;
    import flash.net.*;
    import flash.media.*;
    import flash.system.*;
    import flash.events.*;

        public class OnTextDataExample extends Sprite {
                                              
            public function OnTextDataExample():void {

                var my_video:Video = new Video();
                addChild(my_video);

                var customClient:Object = new Object();
                customClient.onImageData = onImageDataHandler;           
                customClient.onTextData = onTextDataHandler;               

                var my_nc:NetConnection = new NetConnection();
                my_nc.connect(null);
                var my_ns:NetStream = new NetStream(my_nc);
                my_ns.client = customClient;

                my_video.attachNetStream(my_ns);
                my_ns.play("yourURL");
            }

            public function onImageDataHandler(imageData:Object):void {

                trace("imageData length: " + imageData.data.length);
                var imageloader:Loader = new Loader();           
                imageloader.loadBytes(imageData.data); // imageData.data is a ByteArray object.
                addChild(imageloader);
            }

    
            public function onTextDataHandler(textData:Object):void {

                trace("--- textData properties ----");
                var key:String;

                for (key in textData) {
                    trace(key + ": " + textData[key]);
                }
            }

        }

}

Связанные элементы API

onMetaData

Событие  

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Добавляет прослушиватель, реагирующий на получение проигрывателем Flash Player описательной информации, встроенной в воспроизводимое видео. Дополнительные сведения о форматах видеофайлов, поддерживаемых Flash Media Server, см. в www.adobe.com/go/learn_fms_fileformats_ru.

onMetaData на самом деле является свойством объекта NetStream.client. Это свойство можно найти в разделе «События», так как оно отвечает на событие данных при потоковой передаче мультимедийного содержимого с помощью Flash Media Server или при воспроизведении FLV-файла. Дополнительные сведения см. в описании класса NetStream и свойства NetStream.client. Для прослушивания или обработки onImageData в качестве события нельзя использовать ни метод addEventListener(), ни любые другие методы EventDispatcher. Определите одну функцию обратного вызова и присоедините ее к одному из следующих объектов:

  • Объект, на который ссылается свойство client экземпляра NetStream.
  • Экземпляр подкласса NetStream. NetStream представляет собой защищенный класс. Это означает, что при выполнении кода объекту NetStream не могут быть добавлены какие-либо свойства или методы. Можно создать подкласс класса NetStream и определить в нем обработчик событий. Этот подкласс можно также сделать динамическим и добавить функцию обработчика события в его экземпляр.

Служебная программа Flash Video Exporter (версии 1.1 или более поздней версии) встраивает различные данные (продолжительность видео, дата создания, скорости передачи данных и т.п.) в сам видеофайл. Разные видеокодеры вставляют разные наборы метаданных.

Связанный прослушиватель событий запускается после вызова метода NetStream.play(), но перед продвижением точки воспроизведения.

В большинстве случаев, значение продолжительности, встроенное в метаданные потока, является не точным, а лишь приблизительным показателем фактической продолжительности. Другими словами, оно не всегда совпадает со значением свойства NetStream.time, когда точка воспроизведения находится в конце видеопотока.

Объект события, передаваемый обработчику событий onMetaData, содержит одно свойство для каждого элемента данных.


Пример  ( Использование этого примера )

Следующий пример демонстрирует загрузку внешних файлов FLV и реагирование на метаданные и ключевые точки Пример предоставлен ActionScriptExamples.com.
var video:Video = new Video();
addChild(video);
 
var nc:NetConnection = new NetConnection();
nc.connect(null);
 
var ns:NetStream = new NetStream(nc);
ns.client = {};
ns.client.onMetaData = ns_onMetaData;
ns.client.onCuePoint = ns_onCuePoint;

video.attachNetStream(ns);
ns.play("http://www.helpexamples.com/flash/video/cuepoints.flv");

 
function ns_onMetaData(item:Object):void {
    trace("metaData");
    // Resize video instance.
    video.width = item.width;
    video.height = item.height;
    // Center video instance on Stage.
    video.x = (stage.stageWidth - video.width) / 2;
    video.y = (stage.stageHeight - video.height) / 2;
}
 
function ns_onCuePoint(item:Object):void {
    trace("cuePoint");
    trace(item.name + "\t" + item.time);
}

Связанные элементы API

onPlayStatus

Событие  

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Добавляет прослушиватель, который реагирует на завершение воспроизведения потока объектом NetStream. Связанный объект событий передает информацию в дополнение к сведениям, возвращенным событием netStatus. С помощью этого свойства можно запускать действия в коде, когда объект NetStream переключится с одного потока на другой поток в списке воспроизведения (на что указывает информационный объект NetStream.Play.Switch) или когда объект NetStream завершит воспроизведение (на что указывает информационный объект NetStream.Play.Complete).

Объект onPlayStaus на самом деле является свойством объекта NetStream.client. Это свойство можно найти в разделе «События», так как оно отвечает на событие данных при потоковой передаче мультимедийного содержимого с помощью Flash Media Server или при воспроизведении FLV-файла. Дополнительные сведения см. в описании класса NetStream. Нельзя использовать метод addEventListener() или любой другой метод EventDispatcher для прослушивания или обработки onPlayStatus в качестве события. Определите функцию обратного вызова и присоедините ее к одному из следующих объектов:

  • Объект, на который ссылается свойство client экземпляра NetStream.
  • Экземпляр подкласса NetStream. NetStream представляет собой защищенный класс. Это означает, что при выполнении кода объекту NetStream не могут быть добавлены какие-либо свойства или методы. Создайте подкласс класса NetStream и определите в нем обработчик событий. Этот подкласс можно также сделать динамическим и добавить функцию обработчика события в его экземпляр.

Данное событие возвращает информационный объект со следующими свойствами:

Свойство codeСвойство levelЗначение
NetStream.Play.SwitchstatusПодписчик переключается в списке воспроизведения с одного потока на другой.
NetStream.Play.CompletestatusВоспроизведение завершено.
NetStream.Play.TransitionCompletestatusПодписчик переключается на новый поток в результате переключения скорости передачи битов потока.

Связанные элементы API

onSeekPoint

Событие  

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10.1, AIR 2, Flash Lite 4

Вызывается синхронно с appendBytes(), когда в ходе разбора встречается точка, которая рассматривается как возможная точка поиска (например, ключевой кадр видеоролика). Используйте это событие, чтобы создать таблицу точек поиска. Значение byteCount соответствует значению byteCount первого байта подлежащего разбору сообщения для данной точки поиска, оно сбрасывается до нуля, как описано выше. Чтобы выполнить поиск, в событии NetStream.Seek.Notify найдите байты, которые начинаются в точке, доступной для поиска, и вызовите метод appendBytes(bytes). Если аргумент bytes представлен объектом ByteArray, который содержит байты, начинающиеся в точке, доступной для поиска, воспроизведение видеоролика начинается с этой точки поиска.

Примечание. Вызовы метода appendBytes(), выполненные в рамках такого обратного вызова, игнорируются.

Примечание. Это событие не поддерживается для видео H.264 в среде AIR 3.0 для ОС iOS.

Свойство onSeekPoint является свойством объекта NetStream.client. Это свойство описано в разделе, посвященном событиям, так как оно отвечает на данные, передаваемые методу appendBytes(). Дополнительные сведения см. в описании класса NetStream и свойства NetStream.client. Для прослушивания или обработки onSeekPoint в качестве события нельзя использовать ни метод addEventListener(), ни любые другие методы EventDispatcher. Чтобы использовать onSeekPoint, определите функцию обратного вызова и присоедините ее к одному из следующих объектов:

  • Объект, на который ссылается свойство client экземпляра NetStream.
  • Экземпляр подкласса NetStream. NetStream представляет собой защищенный класс. Это означает, что при выполнении кода объекту NetStream не могут быть добавлены какие-либо свойства или методы. Однако можно создать подкласс класса NetStream и определить в нем обработчик событий. Этот подкласс можно также сделать динамическим и добавить функцию обработчика события в его экземпляр.

Связанные элементы API

onTextData

Событие  

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9.0.115.0, Flash Lite 4

Добавляет прослушиватель событий, реагирующий на получение проигрывателем Flash Player текстовых данных, встроенных в воспроизводимый мультимедийный файл. Текстовые данные представлены в формате UTF-8 и могут содержать информацию о форматировании на основе спецификации 3GP Timed Text.

Примечание. Это событие не поддерживается для видео H.264 в среде AIR 3.0 для ОС iOS.

onTextData на самом деле является свойством объекта NetStream.client. Это свойство можно найти в разделе «События», так как оно отвечает на событие данных при потоковой передаче мультимедийного содержимого с помощью Flash Media Server или при воспроизведении FLV-файла. Дополнительные сведения см. в описании класса NetStream. Нельзя использовать метод addEventListener() или любой другой метод EventDispatcher для прослушивания или обработки onTextData в качестве события. Определите функцию обратного вызова и присоедините ее к одному из следующих объектов:

  • Объект, на который ссылается свойство client экземпляра NetStream.
  • Экземпляр подкласса NetStream. NetStream представляет собой защищенный класс. Это означает, что при выполнении кода объекту NetStream не могут быть добавлены какие-либо свойства или методы. Создайте подкласс класса NetStream и определите в нем обработчик событий. Этот подкласс можно также сделать динамическим и добавить функцию обработчика события в его экземпляр.

Связанный прослушиватель событий запускается после вызова метода NetStream.play(), но перед продвижением точки воспроизведения.

Объект события onTextData содержит по одному свойству для каждого фрагмента текстовых данных.


Пример  ( Использование этого примера )

В данном примере код использует свойство Netstream.client для обработки функций обратного вызова для onTextData и onImageData. Для хранения байтового массива функция onImageDataHandler() использует объект события onImageData imageData. Функция onTextDataHandler() использует объект события onTextData textData для хранения блоков текстовых данных (каждый блок данных является свойством объекта textData).

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

Также для обработки данных изображения и текста можно использовать специальный класс. Дополнительные сведения и примеры см. в статье Обработка метаданных и ключевых точек в видеоматериалах Flash.

package {
    import flash.display.*;
    import flash.net.*;
    import flash.media.*;
    import flash.system.*;
    import flash.events.*;

        public class OnTextDataExample extends Sprite {
                                              
            public function OnTextDataExample():void {

                var my_video:Video = new Video();
                addChild(my_video);

                var customClient:Object = new Object();
                customClient.onImageData = onImageDataHandler;           
                customClient.onTextData = onTextDataHandler;               

                var my_nc:NetConnection = new NetConnection();
                my_nc.connect(null);
                var my_ns:NetStream = new NetStream(my_nc);
                my_ns.client = customClient;

                my_video.attachNetStream(my_ns);
                my_ns.play("yourURL");
            }

            public function onImageDataHandler(imageData:Object):void {

                trace("imageData length: " + imageData.data.length);
                var imageloader:Loader = new Loader();           
                imageloader.loadBytes(imageData.data); // imageData.data is a ByteArray object.
                addChild(imageloader);
            }

    
            public function onTextDataHandler(textData:Object):void {

                trace("--- textData properties ----");
                var key:String;

                for (key in textData) {
                    trace(key + ": " + textData[key]);
                }
            }

        }

}

Связанные элементы API

onXMPData

Событие  

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10, AIR 1.5, Flash Lite 4

Устанавливает прослушиватель, реагирующий на получение проигрывателем Flash Player информации о платформе Adobe Extensible Metadata Platform (XMP), встроенной в воспроизводимое видео. Дополнительные сведения о форматах видеофайлов, поддерживаемых Flash Media Server, см. на странице www.adobe.com/go/learn_fms_fileformats_ru.

Примечание. Это событие не поддерживается для видео H.264 в среде AIR 3.0 для ОС iOS.

onXMPData на самом деле является свойством объекта NetStream.client. Это свойство можно найти в разделе «События», так как оно отвечает на событие данных при потоковой передаче мультимедийного содержимого с помощью Flash Media Server или при воспроизведении FLV-файла. Дополнительные сведения см. в описании класса NetStream и свойства NetStream.client. Для прослушивания или обработки onImageData в качестве события нельзя использовать ни метод addEventListener(), ни любые другие методы EventDispatcher. Определите функцию обратного вызова и присоедините ее к одному из следующих объектов:

  • Объект, на который ссылается свойство client экземпляра NetStream.
  • Экземпляр подкласса NetStream. NetStream представляет собой защищенный класс. Это означает, что при выполнении кода объекту NetStream не могут быть добавлены какие-либо свойства или методы. Однако можно создать подкласс класса NetStream и определить в нем обработчик событий. Этот подкласс можно также сделать динамическим и добавить функцию обработчика события в его экземпляр.

Связанный прослушиватель событий запускается после вызова метода NetStream.play(), но перед продвижением точки воспроизведения.

Объект, передаваемый функции обработчика событияonXMPData(), имеет одно свойство data, содержащее строковое значение. Эта строка генерируется из поля UUID верхнего уровня. (Для поля верхнего уровня 128-разрядный UUID имеет значение BE7ACFCB-97A9-42E8-9C71-999491E3AFAC.) Это поле UUID верхнего уровня содержит только один документ XML, представленный в виде строки UTF-8, заканчивающейся на 0.

Связанные элементы API

status

Событие  
Тип объекта события: flash.events.StatusEvent
свойство StatusEvent.type = flash.events.StatusEvent.STATUS

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10.1, AIR 1.0, Flash Lite 4

Отправляется при попытке приложения воспроизвести содержимое, зашифрованное с помощью технологии управления цифровыми правами (DRM), путем вызова метода NetStream.play(). Значение свойства кода состояния будет равно DRM.encryptedFLV.

Примечание. Это событие не поддерживается для видео H.264 в среде AIR 3.0 для ОС iOS.

Задает значение свойства type для объекта события status.

Это событие имеет следующие свойства:

СвойствоЗначение
bubblesfalse
cancelablefalse; поведение по умолчанию, подлежащее отмене, не определено.
codeОписание состояния объекта.
currentTargetОбъект, активно обрабатывающий объект Event с помощью прослушивателя событий.
levelКатегория сообщения, например, status, warning или error.
targetОбъект, сообщающий свое состояние.

Связанные элементы API

Сведения о константе

CONNECT_TO_FMS

Константа
public static const CONNECT_TO_FMS:String = "connectToFMS"

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10, AIR 1.5, Flash Lite 4

Статический объект, передаваемый в качестве параметра конструктору для экземпляра NetStream. Это значение по умолчанию для второго параметра в конструкторе NetStream. Оно не используется приложением для последовательного воспроизведения содержимого. Когда этот параметр используется, конструктор создает подключение к экземпляру Flash Media Server.

DIRECT_CONNECTIONS

Константа 
public static const DIRECT_CONNECTIONS:String = "directConnections"

Язык версии: ActionScript 3.0
Версии среды выполнения: Flash Player 10, AIR 1.5, Flash Lite 4

Создает подключение между одноранговыми издателями Передайте эту строку в качестве второго (необязательного) параметра конструктору для экземпляра NetStream. С помощью этой строки приложение может создать подключение NetStream с целью публикации аудио и видео для клиентов.

NetConnectionExample.as

В следующем примере объект Video с классами NetConnection и NetStream используется для загрузки и воспроизведения FLV-файла.

В данном примере код, создающий объекты Video и NetStream, а также вызывающий методы Video.attachNetStream() и NetStream.play(), размещен в функции обработчика. Обработчик вызывается только при успешном подключении к объекту NetConnection (другими словами, когда событие netStatus возвращает объект info со свойством code, что свидетельствует об успешном выполнении задачи). Рекомендуется перед вызовом NetStream.play() дождаться успешного подключения.

package {
    import flash.display.Sprite;
    import flash.events.NetStatusEvent;
    import flash.events.SecurityErrorEvent;
    import flash.media.Video;
    import flash.net.NetConnection;
    import flash.net.NetStream;
    import flash.events.Event;

    public class NetConnectionExample extends Sprite {
        private var videoURL:String = "http://www.helpexamples.com/flash/video/cuepoints.flv";
        private var connection:NetConnection;
        private var stream:NetStream;
        private var video:Video = new Video();        

        public function NetConnectionExample() {
            connection = new NetConnection();
            connection.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
            connection.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
            connection.connect(null);
        }

        private function netStatusHandler(event:NetStatusEvent):void {
            switch (event.info.code) {
                case "NetConnection.Connect.Success":
                    connectStream();
                    break;
                case "NetStream.Play.StreamNotFound":
                    trace("Stream not found: " + videoURL);
                    break;
            }
        }

        private function securityErrorHandler(event:SecurityErrorEvent):void {
            trace("securityErrorHandler: " + event);
        }

        private function connectStream():void {
            addChild(video);
            var stream:NetStream = new NetStream(connection);
            stream.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
            stream.client = new CustomClient();
            video.attachNetStream(stream);
            stream.play(videoURL);
        }
    }
}

class CustomClient {
    public function onMetaData(info:Object):void {
        trace("metadata: duration=" + info.duration + " width=" + info.width + " height=" + info.height + " framerate=" + info.framerate);
    }
    public function onCuePoint(info:Object):void {
        trace("cuepoint: time=" + info.time + " name=" + info.name + " type=" + info.type);
    }
}
NetConnectionExample.2.as

Вместо создания пользовательского класса можно получить метаданные с помощью функции. Следующий способ, предложенный Биллом Сандерсом, позволяет редактировать вышеуказанный код NetConnectionExample для вызова метаданных внутри функции. В этом случае объект mdata используется для установки ширины и высоты видеоэкземпляра video:
  //Place the following in the connectStream() function
  //in the NetConnectionExample code
  var metaSniffer:Object=new Object();  
  stream.client=metaSniffer; //stream is the NetStream instance  
  metaSniffer.onMetaData=getMeta;  
      
   
  // Add the following function within the NetConnectionExample class  
  private function getMeta (mdata:Object):void  
  {  
     video.width=mdata.width/2;  
     video.height=mdata.height/2;  
  }  




[ X ]Почему по-английски?
Содержимое Справочника ActionScript 3.0 отображается на английском языке

Не все части Справочника ActionScript 3.0 переводятся на все языки. Если какой-то текстовый элемент не переведен, он отображается на английском языке. Например, компонент ga.controls.HelpBox не переведен ни на один из языков. Это значит, что в русской версии справки компонент ga.controls.HelpBox будет отображаться на английском языке.