| Paquete | flash.net |
| Clase | public class NetStream |
| Herencia | NetStream EventDispatcher Object |
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
NetStream.publish(), o suscribirse a una transmisión publicada y recibir datos, mediante NetStream.play(). Se pueden publicar o reproducir datos en vivo (en tiempo real) y datos grabados con anterioridad. También es posible utilizar objetos NetStream para enviar mensajes de texto a todos los clientes suscriptores (consulte el método NetStream.send()).
La reproducción de archivos de vídeo externos ofrece varias ventajas frente a la incorporación de vídeo en un documento de Flash como, por ejemplo, un mejor rendimiento y gestión de la memoria, así como velocidades de fotogramas de vídeo y Flash independientes.
Para más información sobre los códecs y formatos de archivo compatibles, consulte http://www.adobe.com/go/hardware_scaling_es y la documentación de Flash Media Server.La clase NetStream proporciona varios métodos y propiedades que puede utilizar para controlar el progreso del archivo conforme se carga y reproduce, así como para proporcionar al usuario control sobre la reproducción (detener, pausa, etc.).
Flujo de trabajo general para transmisión de audio o vídeo. Los siguientes pasos resumen el flujo de trabajo de la publicación de audio y vídeo en tiempo real:
NetConnection.connect() para conectarse a la instancia de la aplicación en el servidor.NetStream.attachAudio() para capturar y enviar audio a través la transmisión y el método NetStream.attachCamera() para capturar y enviar vídeo.NetStream.publish() para asignar a la transmisión un nombre exclusivo y enviar datos al servidor a través de la transmisión para que otros usuarios los puedan recibir. También puede grabar los datos mientras los publica para que los usuarios puedan reproducirlos más adelante.Los archivos SWF que se suscriben a esta transmisión utilizarán el nombre transferido a publish() en su llamada a play() y llamarán al mismo método NetConnection.connect() que el editor. Deben llamar al método Video.attachNetStream() para transmitir el vídeo y al método NetStream.play() para reproducirlo.
Utilización de fotogramas clave de datos con Flash Media Server. Después de crear los objetos NetConnection y NetStream, puede utilizar NetStream.send() para añadir metadatos a audio o vídeo en vivo mientras lo transmite al servidor. Los metadatos pueden ser información como la altura o anchura del vídeo, su duración y el nombre de su creador, entre otros. Para definir los metadatos, utilice el nombre especial de controlador @setDataFrame como primer argumento en NetStream.send(). El cliente que recibe la transmisión en directo también necesita definir un controlador de eventos onMetaData para recuperar los metadatos de la transmisión; consulte el método NetStream.send() para más información.
Véase también
| Propiedad | Definido por | ||
|---|---|---|---|
| bufferLength : Number
[read-only]
El número de segundos de datos almacenados actualmente en el búfer.
| NetStream | ||
| bufferTime : Number
Especifica el tiempo que deben almacenarse en el búfer los mensajes antes de comenzar a mostrar la transmisión.
| NetStream | ||
| bytesLoaded : uint
[read-only]
El número de bytes de datos que se han cargado en Flash Player.
| NetStream | ||
| bytesTotal : uint
[read-only]
El tamaño total en bytes del archivo que se está cargando en Flash Player.
| NetStream | ||
| checkPolicyFile : Boolean
Especifica si Flash Player debe intentar descargar un archivo de política entre distintos dominios desde el servidor del archivo de vídeo cargado antes de comenzar a cargarlo.
| NetStream | ||
| client : Object
Especifica el objeto en el que se invocan los métodos callback.
| NetStream | ||
![]() | constructor : Object
Una referencia a la clase de objeto o función constructora para una instancia de objeto determinada.
| Object | |
| currentFPS : Number
[read-only]
El número de fotogramas por segundo que se muestran.
| NetStream | ||
| liveDelay : Number
[read-only]
El número de segundos de datos del búfer de la transmisión de suscripción en modo en vivo (sin búfer).
| NetStream | ||
| objectEncoding : uint
[read-only]
La codificación del objeto (versión del AMF) para este objeto NetStream.
| NetStream | ||
![]() | prototype : Object
[static]
Una referencia al objeto prototipo de una clase u objeto de función.
| Object | |
| soundTransform : SoundTransform
Controla el sonido de este objeto NetStream.
| NetStream | ||
| time : Number
[read-only]
La posición, en segundos, de la cabeza lectora.
| NetStream | ||
| Método | Definido por | ||
|---|---|---|---|
|
NetStream(connection:NetConnection)
Crea una transmisión que puede utilizarse para reproducir archivos de vídeo a través del objeto NetConnection especificado.
| NetStream | ||
![]() |
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registra un objeto de detector de eventos con un objeto EventDispatcher, de modo que el detector reciba la notificación de un evento.
| EventDispatcher | |
|
Especifica una transmisión de audio enviada a través del objeto NetStream, desde un objeto Microphone transferido como origen.
| NetStream | ||
|
Comienza a capturar vídeo desde una cámara, o bien detiene la captura si theCamera se establece como null.
| NetStream | ||
|
Detiene la reproducción de todos los datos de la transmisión, establece la propiedad time con el valor 0 y deja la transmisión a disposición de otro usuario.
| NetStream | ||
![]() |
Distribuye un evento en el flujo del evento.
| EventDispatcher | |
![]() |
Comprueba si el objeto EventDispatcher tiene detectores registrados para un tipo concreto de evento.
| EventDispatcher | |
![]() |
Indica si un objeto tiene definida una propiedad especificada.
| Object | |
![]() |
Indica si hay una instancia de la clase Object en la cadena de prototipo del objeto especificado como parámetro.
| Object | |
|
Interrumpe la reproducción de una transmisión de vídeo.
| NetStream | ||
|
Comienza la reproducción de los archivos de vídeo.
| NetStream | ||
![]() |
Indica si existe la propiedad especificada y si es enumerable.
| Object | |
|
Envía transmisiones de audio, vídeo y mensajes de texto desde un cliente a Flash Media Server y, opcionalmente, graba la transmisión.
| NetStream | ||
|
Especifica si se reproduce audio entrante en la transmisión.
| NetStream | ||
|
Especifica si se reproducirá vídeo entrante en la transmisión.
| NetStream | ||
![]() |
Elimina un detector del objeto EventDispatcher.
| EventDispatcher | |
|
Reanuda la reproducción de una transmisión de vídeo interrumpido.
| NetStream | ||
|
Busca el fotograma clave (también denominado fotograma I en la industria del vídeo) más cercano a la ubicación especificada.
| NetStream | ||
|
Envía un mensaje en una transmisión publicada a todos los clientes suscritos.
| NetStream | ||
![]() |
Establece la disponibilidad de una propiedad dinámica para operaciones de bucle.
| Object | |
|
Realiza una pausa o reanuda la reproducción de una transmisión.
| NetStream | ||
![]() |
Devuelve la representación de cadena del objeto especificado.
| Object | |
![]() |
Devuelve el valor simple del objeto especificado.
| Object | |
![]() |
Comprueba si hay registrado un detector de eventos con este objeto EventDispatcher o con cualquiera de sus ascendientes para el tipo de evento concreto.
| EventDispatcher | |
| Evento | Resumen | Definido por | ||
|---|---|---|---|---|
![]() | Se distribuye cuando Flash Player queda seleccionado por el sistema operativo y pasa a estar activo. | EventDispatcher | ||
| Se distribuye cuando se emite una excepción de forma asíncrona, es decir, desde un código asíncrono nativo. | NetStream | |||
![]() | Se distribuye cuando Flash Player deja de estar seleccionado por el sistema operativo y pasa a estar inactivo. | EventDispatcher | ||
| Se distribuye cuando se produce un error de entrada o salida que provoca que una operación de red se realice incorrectamente. | NetStream | |||
| Se distribuye cuando un objeto NetStream informa sobre su estado o situación de error. | NetStream | |||
| Se invoca cuando se alcanza un punto de referencia incorporado al reproducir un archivo de vídeo. | NetStream | |||
| Se distribuye cuando Flash Player recibe la información descriptiva incorporada en el vídeo que se está reproduciendo. | NetStream | |||
| Se distribuye cuando un objeto NetStream ha reproducido completamente una transmisión. | NetStream | |||
| bufferLength | propiedad |
bufferLength:Number [read-only]
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
El número de segundos de datos almacenados actualmente en el búfer. Puede utilizar esta propiedad con la propiedad bufferTime para estimar cuánto le falta al búfer para llenarse (por ejemplo, para mostrar información al usuario que está esperando a que los datos se carguen en el búfer).
public function get bufferLength():Number
Véase también
| bufferTime | propiedad |
bufferTime:Number [read-write]
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
Especifica el tiempo que deben almacenarse en el búfer los mensajes antes de comenzar a mostrar la transmisión. Por ejemplo, para asegurarse de que los 15 primeros segundos de la transmisión se reproducen sin interrupción, establezca bufferTime con el valor 15; Flash Player comenzará a reproducir la transmisión sólo después de que se acumulen 15 segundos de datos en el búfer.
El valor predeterminado es 0,1 (una décima de segundo). Para determinar el número de segundos que hay actualmente en el búfer, utilice la propiedad bufferLength.
Nota: para evitar la distorsión al reproducir contenido pregrabado (no dinámico), no defina el valor de Netstream.bufferTime como 0. De forma predeterminada, Flash Player utiliza un búfer de entrada para el contenido pregrabado que pone en cola los datos del medio y los reproduce correctamente. Para contenido pregrabado, utilice la configuración predeterminada o aumente el tiempo de almacenamiento en búfer.
Flash Media Server. El comportamiento del búfer dependerá de si el tiempo del búfer se establece en una transmisión de publicación o en una de suscripción. En una transmisión de publicación, bufferTime especifica cuánto tiempo puede crecer el búfer saliente antes de que Flash comience a eliminar fotogramas. En una conexión de alta velocidad, el tiempo del búfer no debe ser motivo de preocupación; los datos se enviarán casi con la misma rapidez con la que Flash los almacena en el búfer. En una conexión lenta, sin embargo, puede haber una diferencia importante entre la rapidez con que Flash almacena en el búfer los datos y la rapidez con que se envía al cliente.
En una transmisión de suscripción, bufferTime especifica cuánto tiempo se pueden almacenar en búfer los datos entrantes antes de empezara a mostrar la transmisión. Por ejemplo, si desea asegurarse de que los 15 primeros segundos de la transmisión se reproduzcan sin interrupción, establezca numberOfSeconds con el valor 15; Flash comenzará a reproducir la transmisión sólo después de que se acumulen 15 segundos de datos en el búfer.
Cuando se reproduce una transmisión grabada, si bufferTime es cero, Flash lo establece con un valor bajo (aproximadamente 10 milisegundos). Si las transmisiónes en vivo se reproducen más tarde (por ejemplo, desde una lista de reproducción), este tiempo de búfer persiste. Es decir, bufferTime sigue teniendo un valor distinto de cero para la transmisión.
public function get bufferTime():Number
public function set bufferTime(value:Number):void
Véase también
| bytesLoaded | propiedad |
bytesLoaded:uint [read-only]
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
El número de bytes de datos que se han cargado en Flash Player. Puede utilizar esta propiedad con la propiedad bytesTotal para estimar cuánto le falta al búfer para llenarse (por ejemplo, para mostrar información al usuario que está esperando a que los datos se carguen en el búfer).
public function get bytesLoaded():uint
Véase también
| bytesTotal | propiedad |
bytesTotal:uint [read-only]
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
El tamaño total en bytes del archivo que se está cargando en Flash Player.
public function get bytesTotal():uint
Véase también
| checkPolicyFile | propiedad |
checkPolicyFile:Boolean [read-write]
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
Especifica si Flash Player debe intentar descargar un archivo de política entre distintos dominios desde el servidor del archivo de vídeo cargado antes de comenzar a cargarlo. Esta propiedad se aplica al utilizar un objeto NetStream para la descarga de vídeo progresivo (archivos independientes), o bien cuando se descargan archivos que se encuentran fuera del propio dominio del archivo SWF que realiza la llamada. Esta propiedad se ignora si se utiliza un objeto NetStream para obtener un activo RTMP.
Establezca esta propiedad como true si carga un archivo de vídeo desde fuera del dominio del archivo SWF que realiza la llamada y si necesita utilizar el método BitmapData.draw() para acceder al nivel de píxeles del vídeo. Si llama a BitmapData.draw() sin establecer la propiedad checkPolicyFile como true en tiempo de carga, es posible que obtenga una excepción SecurityError, ya que el archivo de política requerido no se ha descargado.
Si no necesita acceder al nivel de píxeles del vídeo que está cargando, no establezca checkPolicyFile en true. Al buscar un archivo de política, se consume ancho de banda de la red y se puede demorar el inicio de la descarga.
Al llamar al método NetStream.play() con checkPolicyFile establecido como true, Flash Player debe descargar correctamente un archivo de política entre dominios adecuado o determinar que no existe ninguno antes de comenzar la descarga del sonido especificado en la llamada a NetStream.play(). Flash Player lleva a cabo las acciones siguientes (en el orden indicado) para comprobar la existencia de un archivo de política:
Security.loadPolicyFile().NetStream.play(), que es /crossdomain.xml en el mismo servidor que la URL.En todos los casos, Flash Player necesita que exista un archivo de política adecuado en el servidor de vídeo, que proporcione acceso al objeto en la URL transferida a play(), de acuerdo con la ubicación del archivo de política, y que permita que el dominio acceda al archivo SWF que realiza la llamada gracias a una o varias etiquetas <allow-access-from>.
Si establece checkPolicyFile como true, Flash Player espera a que se verifique el archivo de política antes de descargar el vídeo. Espere a recibir los eventos onMetaData o NetStatus desde el objeto NetStream para realizar cualquier operación de nivel de píxeles en los datos de vídeo (por ejemplo, llamar a BitmapData.draw()).
Si establece checkPolicyFile como true, pero no se encuentra ningún archivo de política adecuado, no recibirá ningún error hasta que no se realice alguna operación que requiera un archivo de política; cuando esto ocurra, Flash Player emitirá una excepción SecurityError.
Debe tener cuidado con checkPolicyFile si descarga un archivo desde una URL que utilice redirección HTTP en el lado del servidor. Flash Player intenta recuperar archivos de política correspondientes a la URL inicial especificada en NetStream.play(). Si el archivo final proviene de una URL distinta por la redirección HTTP, es posible que los archivos de política descargados inicialmente no se puedan aplicar a la URL final del archivo, que es la URL determinante en las decisiones de seguridad.
Para más información acerca de los archivos de política, consulte el capítulo "Seguridad de Flash Player" de Programación con ActionScript 3.0.
public function get checkPolicyFile():Boolean
public function set checkPolicyFile(value:Boolean):void
Véase también
| client | propiedad |
client:Object [read-write]
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
Especifica el objeto en el que se invocan los métodos callback. El objeto predeterminado es this (el objeto NetStream que se está creando). Si establece la propiedad client en otro objeto, los métodos callback se invocarán en dicho objeto.
public function get client():Object
public function set client(value:Object):void
TypeError — La propiedad client debe establecerse en un objeto que no tenga valor null.
|
| currentFPS | propiedad |
currentFPS:Number [read-only]
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
El número de fotogramas por segundo que se muestran. Si está exportando archivos de vídeo que van a reproducirse en diversos sistemas, puede comprobar este valor durante la realización de pruebas para que le resulte más fácil determinar la cantidad de compresión que debe aplicarse al exportar el archivo.
public function get currentFPS():Number
| liveDelay | propiedad |
liveDelay:Number [read-only]
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
El número de segundos de datos del búfer de la transmisión de suscripción en modo en vivo (sin búfer). Esta propiedad especifica la demora de transmisión de la red actual (tiempo de retardo).
Esta propiedad se utiliza principalmente con un servidor como Flash Media Server; para más información, consulte la descripción de la clase.
Puede obtener el valor de esta propiedad para calibrar de forma aproximada la calidad de la transmisión y comunicarse con el usuario.
public function get liveDelay():Number
| objectEncoding | propiedad |
objectEncoding:uint [read-only]
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
La codificación del objeto (versión del AMF) para este objeto NetStream. El objeto NetStream hereda su valor objectEncoding del objeto NetConnection asociado. Es importante comprender esta propiedad si el archivo SWF de ActionScript 3.0 necesita comunicarse con los servidores publicados antes de la aparición de Flash Player 9. Para más información, consulte la descripción de la propiedad objectEncoding en la clase NetConnection.
El valor de esta propiedad varía si la transmisión es local o remota. Las transmisiones locales, donde se transfiere null al método NetConnection.connect(), devuelven el valor de NetConnection.defaultObjectEncoding. Por su parte, las transmisiones remotas, donde se realiza la conexión con el servidor, devuelven la codificación del objeto de conexión con el servidor.
Si intenta leer esta propiedad cuando no está conectado, o si intenta cambiarla, Flash Player emitirá una excepción.
public function get objectEncoding():uint
Véase también
| soundTransform | propiedad |
soundTransform:SoundTransform [read-write]
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
Controla el sonido de este objeto NetStream. Para más información, consulte la clase SoundTransform.
public function get soundTransform():SoundTransform
public function set soundTransform(value:SoundTransform):void
Véase también
| time | propiedad |
time:Number [read-only]
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
La posición, en segundos, de la cabeza lectora.
Flash Media Server Para una transmisión de suscripción, el número de segundos que ha estado reproduciéndose la transmisión. Para una transmisión de publicación, el número de segundos que ha estado publicándose la transmisión. Este número es exacto con la posición decimal en milésimas; multiplíquelo por 1000 para obtener el número de milisegundos que ha estado reproduciéndose la transmisión.
Para una transmisión de suscripción, si el servidor detiene el envío de datos pero la transmisión queda abierta, el valor de time deja de aumentar. Cuando el servidor comienza a enviar de nuevo los datos, el valor continúa aumentando desde donde se quedó más el tiempo transcurrido mientras no se enviaron datos.
El valor de time continúa aumentando cuando la transmisión cambia de un elemento a otro en la lista de reproducción. Esta propiedad se establece en 0 cuando se llama a NetStream.play() con el valor reset establecido en 1 o en true, o bien cuando se llama a NetStream.close().
public function get time():Number
Véase también
| NetStream | () | constructor |
public function NetStream(connection:NetConnection)
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
Crea una transmisión que puede utilizarse para reproducir archivos de vídeo a través del objeto NetConnection especificado.
Para más información sobre los códecs y formatos de archivo compatibles, consulte http://www.adobe.com/go/hardware_scaling_es y la documentación de Flash Media Server.
Parámetrosconnection:NetConnection — Un objeto NetConnection.
|
ArgumentError — La instancia de NetConnection no está conectada.
|
Véase también
| attachAudio | () | método |
public function attachAudio(microphone:Microphone):void
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
Especifica una transmisión de audio enviado a través del objeto NetStream, desde un objeto Microphone transferido como origen. Este método sólo está disponible para el editor de la transmisión especificada.
El método attachAudio está pensado para su uso con Flash Media Server. Este método suele llamarse por un usuario que envía audio en vivo (o vídeo con audio en vivo) desde un equipo cliente al servidor.
Puede llamar a este método antes o después de llamar al método publish() y comenzar realmente la transmisión. Los suscriptores que quieran escuchar el audio deberán llamar al método NetStream.play(). Es posible controlar las propiedades de sonido de esta transmisión de audio mediante la propiedad soundTransform del objeto Microphone especificado.
Parámetros
microphone:Microphone — El origen de la transmisión de audio.
|
Véase también
| attachCamera | () | método |
public function attachCamera(theCamera:Camera, snapshotMilliseconds:int = -1):void
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
Comienza a capturar vídeo desde una cámara, o bien detiene la captura si theCamera se establece como null. Este método sólo está disponible para el editor de la transmisión especificada.
Este evento está pensado para su uso con Flash Media Server; para más información, consulte la descripción de la clase.
Tras vincular el origen de vídeo, es necesario llamar a NetStream.publish() para iniciar la transmisión. Los suscriptores que quieran mostrar el vídeo deberán llamar a los métodos NetStream.play() y Video.attachCamera() para poder mostrarlo en el escenario.
Es posible utilizar snapshotMilliseconds para enviar una única instantánea (si se proporciona un valor 0) o una serie de instantáneas (en realidad, imágenes a intervalos) si se proporciona un número positivo que añada el número especificado de milisegundos a la salida de vídeo. Este añadido amplía el tiempo de visualización durante el que se muestra el mensaje de vídeo. Si se llama varias veces a attachCamera() con un valor positivo de snapshotMilliseconds, la secuencia de instantáneas y añadidos alternativos crean imágenes a intervalos. Por ejemplo, se puede capturar un fotograma por día y añadirlo a un archivo de vídeo. Cuando un suscriptor reproduce el archivo, cada fotograma permanece en pantalla durante el número especificado de milisegundos y, a continuación, se muestra el siguiente fotograma.
La finalidad del parámetro snapshotMilliseconds no es la misma que la del parámetro fps que se puede establecer con Camera.setMode(). Al especificar snapshotMilliseconds, se controla la cantidad de tiempo que transcurre entre los fotogramas grabados. Al especificar fps con Camera.setMode(), se controla la cantidad de tiempo que transcurre durante la grabación y la reproducción.
Por ejemplo, suponga que quiere tomar una instantánea cada 5 minutos hasta conseguir un total de 100 instantáneas. Puede hacerse de dos maneras:
NetStream.attachCamera(myCamera, 500) 100 veces, una cada 5 minutos. Tardaría 500 minutos en realizar la grabación, pero el archivo resultante se reproduciría en 50 segundos (100 fotogramas con 500 milisegundos entre cada fotograma).Camera.setMode() con un valor de fps de 1/300 (uno por cada 300 segundos, o uno cada 5 minutos) y, a continuación, emitir un comando NetStream.attachCamera(source), para que la cámara pueda capturar de forma continua durante 500 minutos. El archivo resultante se reproducirá en 500 minutos (el mismo tiempo que se tardó en grabar) y cada fotograma se muestra durante 5 minutos.Mediante ambas técnicas, se capturan los mismos 500 fotogramas y los dos enfoques resultan útiles; el enfoque adecuado depende principalmente de los requisitos de reproducción. Por ejemplo, en el segundo caso, se grabaría audio todo el tiempo. Asimismo, los dos archivos tendrían aproximadamente el mismo tamaño.
Parámetros
theCamera:Camera — El origen de la transmisión de vídeo. Los valores válidos son un objeto Camera (que comienza a capturar vídeo) y null. Si transfiere null, Flash Player detiene la captura de vídeo y se omiten todos los parámetros adicionales que envíe.
|
|
snapshotMilliseconds:int (default = -1) — Especifica si la transmisión de vídeo es continuo, un único fotograma o una serie de fotogramas únicos empleados para crear fotografías a intervalos.
|
| close | () | método |
public function close():void
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
Detiene la reproducción de todos los datos de la transmisión, establece la propiedad time con el valor 0 y deja la transmisión a disposición de otro usuario. Este método también elimina la copia local de un archivo de vídeo descargado a través de HTTP. Aunque Flash Player elimina la copia local del archivo que crea, es posible que permanezca una copia en el directorio de la caché del navegador. Si debe impedir totalmente el almacenamiento local o en caché del archivo de vídeo, utilice Flash Media Server.
Al utilizar Flash Media Server, este método se invoca implícitamente al llamar a NetStream.play() desde una transmisión de publicación o NetStream.publish() desde una transmisión de suscripción. Tenga en cuenta que:
close() desde una transmisión de publicación, la transmisión deja de publicar y el editor puede ahora utilizar la transmisión para otro propósito. Los suscriptores ya no reciben lo que se estaba publicando en la transmisión, ya que ésta ha dejado de publicar.
close() desde una transmisión de suscripción, la transmisión deja de efectuarse para el suscriptor y éste puede utilizar la transmisión para otro propósito. Los demás suscriptores no se verán afectados.
flash.net.NetStream.play(false).
Véase también
| pause | () | método |
public function pause():void
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
Interrumpe la reproducción de una transmisión de vídeo. Si el vídeo ya está interrumpido, la llamada a este método no tendrá ningún efecto. Para reanudar la reproducción de un vídeo que está en pausa, llame a resume(). Para alternar entre pausa y reproducción (primero detener el vídeo, luego reanudarlo), llame a togglePause().
Véase también
| play | () | método |
public function play(... arguments):void
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
Comienza la reproducción de los archivos de vídeo.
Para más información sobre los códecs y formatos de archivo compatibles, consulte http://www.adobe.com/go/hardware_scaling_es y la documentación de Flash Media Server.
Para ver datos de vídeo, deberá crear un objeto Video y llamar al método Video.attachNetStream(); se reproducirá automáticamente el audio que se transmite con el vídeo o un archivo que contenga sólo audio. Para reproducir audio desde un micrófono, utilice el método NetStream.attachAudio() y controle determinados aspectos del audio mediante el objeto Microphone.
Para controlar el audio asociado a un archivo de vídeo, puede utilizar DisplayObjectContainer.addChild() para dirigir el audio a un objeto de la lista de visualización; posteriormente, podrá crear un objeto Sound para controlar algunos aspectos del audio. Para más información, consulte el método DisplayObjectContainer.addChild().
Si no se encuentra el archivo de vídeo, se distribuirá el evento netStatus. Para detener la reproducción en curso de una transmisión, utilice el método close().
Cuando utilice este método sin Flash Media Server, tenga en cuenta el modelo de seguridad de Flash Player. Un archivo SWF en el entorno limitado local de confianza o local con acceso a la red puede cargar y reproducir un archivo de vídeo desde el entorno limitado remoto, pero no puede acceder a los datos del archivo remoto sin obtener permiso explícito en forma de archivo de política entre dominios. Asimismo, se puede impedir que un archivo SWF utilice este método si define el parámetro allowNetworking de las etiquetas object y embed de la página HTML que aloja el contenido SWF.
Para más información, consulte las siguientes secciones:
Netstream.checkPolicyFile.Parámetros
... arguments — La ubicación del archivo de vídeo que se va a reproducir, como una cadena u objeto URLRequest. Puede reproducir archivos de vídeo locales almacenados en el mismo directorio que el archivo SWF o en un subdirectorio; sin embargo, no podrá desplazarse a un directorio de nivel superior.
Flash Media Server Para reproducir archivos de vídeo en Flash Media Server, especifique el nombre de la transmisión sin una extensión de archivo (por ejemplo,
Con Flash Media Server,
|
SecurityError — Los archivos SWF locales que no son de confianza no pueden comunicarse con Internet. Puede solucionar esta restricción reclasificando el archivo SWF como archivo local de red o archivo de confianza.
|
|
ArgumentError — Al menos debe especificarse un parámetro.
|
|
Error — El objeto NetStream no es válido. Esto puede deberse a un fallo de NetConnection.
|
Véase también
ns.play("record1", 0, 100, true);
ns.play("stephen");
| publish | () | método |
public function publish(name:String = null, type:String = null):void
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
Envía transmisiones de audio, vídeo y mensajes de texto desde un cliente a Flash Media Server y, opcionalmente, graba la transmisión. Este método sólo está disponible para el editor de la transmisión especificada.
No utilice este método para que un cliente pueda reproducir una transmisión ya publicada y grabada. Por el contrario, cree una instancia de NetStream para el cliente y llame al método play():
var subscribeNS:NetStream = new NetStream(myNetConnection);
subscribeNS.play("streamToPlay");
Cuando graba una transmisión con Flash Media Server, el servidor crea un archivo y lo almacena en un subdirectorio del directorio de la aplicación en el servidor. Cada transmisión se almacena en un directorio cuyo nombre coincide con el nombre de la instancia de la aplicación transferida a NetConnection.connect(). El servidor crea estos directorios automáticamente; no es necesario crear uno para cada instancia de aplicación. Por ejemplo, el código siguiente muestra el modo de conectarse a una instancia específica de una aplicación almacenada en un directorio llamado lectureSeries, en el directorio de aplicaciones. Un archivo llamado lecture.flv se almacena en un subdirectorio llamado /yourAppsFolder/lectureSeries/streams/Monday:
var myNC:NetConnection = new NetConnection();
myNC.connect("rtmp://server.domain.com/lectureSeries/Monday");
var myNS:NetStream = new NetStream(myNC);
myNS.publish("lecture", "record");
En el ejemplo siguiente, se muestra cómo conectarse a una instancia distinta de la misma aplicación, pero emitir un comando de publicación idéntico. Un archivo llamado lecture.flv se almacena en un subdirectorio llamado /yourAppsFolder/lectureSeries/streams/Tuesday:
var myNC:NetConnection = new NetConnection();
myNC.connect("rtmp://server.domain.com/lectureSeries/Tuesday");
var myNS:NetStream = new NetStream(my_nc);
myNS.publish("lecture", "record");
Si no transfiere un valor para el nombre de la instancia, coincidirá con el valor transferido a la propiedad name almacenada en un subdirectorio llamado /yourAppsFolder/appName/streams/_definst_ (para la "instancia predeterminada"). Para más información sobre cómo utilizar los nombres de instancias, consulte el método NetConnection.connect(). Para más información sobre la reproducción de archivos de vídeo, consulte el método NetStream.play().
Cuando un cliente de la aplicación Flash Media Server llama a publish(), la aplicación recibe un evento onPublish. La aplicación debe gestionar el evento en un script del lado del servidor. Cuando el cliente deja de publicar, la aplicación recibe un evento onUnpublish. Para más información, consulte la referencia del lenguaje ActionScript del servidor de Flash Media Server.
Este método puede distribuir un evento netStatus con varios objetos de información diferentes. Por ejemplo, si ya hay alguien publicando en una transmisión con el nombre especificado, se distribuirá el evento netStatus con una propiedad de código NetStream.Publish.BadName. Para más información, consulte el evento netStatus.
Parámetros
name:String (default = null) — Una cadena que identifica la transmisión. Si transfiere false, se detendrá la operación de publicación. Los clientes que se suscriban a esta transmisión deben transferir este mismo nombre cuando llamen a NetStream.play(). No es necesario incluir una extensión de archivo para el nombre de la transmisión. No agregue "/" al nombre de la transmisión. Por ejemplo, no utilice el nombre de transmisión "bolero/".
|
|
type:String (default = null) — Una cadena que especifica cómo publicar la transmisión. Los valores válidos son "record", "append" y "live". El valor predeterminado es "live".
|
Véase también
| receiveAudio | () | método |
public function receiveAudio(flag:Boolean):void
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
Especifica si se reproduce audio entrante en la transmisión. Este método está disponible sólo para los clientes suscritos a la transmisión especificada, no para el editor de la transmisión.
Este método está pensado principalmente para su uso con Flash Media Server; para más información, consulte la descripción de la clase.
Puede llamar a este método antes o después de llamar al método NetStream.play() y comenzar realmente a recibir la transmisión. Por ejemplo, puede asociar estos métodos a un botón que pulse el usuario para silenciar y anular el silencio de la transmisión de audio entrante.
Si la transmisión especificada contiene sólo datos de audio, al pasar un valor false al método, se detendrá el crecimiento de NetStream.time.
Parámetros
flag:Boolean — Especifica si se reproduce audio entrante en la transmisión (true) o no (false). El valor predeterminado es true.
|
| receiveVideo | () | método |
public function receiveVideo(flagOrFPS:*):void
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
Especifica si el vídeo entrante se reproducirá en la transmisión. Este método sólo está disponible para los clientes suscritos a la transmisión especificada, no para el editor de la transmisión.
Este método está pensado principalmente para su uso con Flash Media Server; para más información, consulte la descripción de la clase.
Puede llamar a este método antes o después de llamar al método NetStream.play() y comenzar realmente a recibir la transmisión. Por ejemplo, puede asociar estos métodos a un botón que pulse el usuario para mostrar u ocultar la transmisión de vídeo entrante.
Si la transmisión especificada contiene sólo datos de vídeo, al pasar un valor false al método, se detendrá el crecimiento de NetStream.time.
Parámetros
flagOrFPS:* — Especifica si se reproducirá vídeo entrante en la transmisión (true) o no (false). El valor predeterminado es true. También puede utilizar un entero para especificar la velocidad de fotogramas por segundo del vídeo entrante. Si no especifica una velocidad de fotogramas, el valor predeterminado de ésta será el del vídeo grabado o en vivo que se esté reproduciendo.
|
| resume | () | método |
public function resume():void
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
Reanuda la reproducción de una transmisión de vídeo interrumpido. Si el vídeo ya se está reproduciendo, la llamada a este método no tendrá ningún efecto.
Véase también
| seek | () | método |
public function seek(offset:Number):void
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
Busca el fotograma clave (también denominado fotograma I en la industria del vídeo) más cercano a la ubicación especificada. El fotograma clave se ubica en un desplazamiento, en segundos, desde el comienzo de la transmisión.
Las transmisiones de vídeo se suelen codificar con dos tipos de fotogramas, los fotogramas clave (o fotogramas I) y los fotogramas P. El fotograma clave incluye una imagen completa, mientras que el fotograma P es un fotograma provisional que proporciona información adicional de vídeo entre fotogramas clave. La transmisión de vídeo normalmente tiene un fotograma clave cada 10 a 50 fotogramas.
En Flash Media Server, el comportamiento de seek() está controlado por el valor del elemento EnhancedSeek en el archivo de configuración Application.xml.
Si EnhancedSeek es false, el servidor utilizar el modo de búsqueda normal. En este modo, el servidor inicia la transmisión a partir del fotograma clave más cercano. Por ejemplo, si un vídeo tiene fotogramas clave a 0 y 10 segundos, una búsqueda a 4 segundos hace que la reproducción comience a los 4 segundos utilizando el fotograma clave en 0 segundos. El vídeo se queda congelado hasta que llega al siguiente fotograma clave a los 10 segundos. Para conseguir una mejor experiencia en la búsqueda, necesita reducir el intervalo de fotogramas clave. En el modo de búsqueda normal, no puede iniciar el vídeo en un punto entre fotogramas clave.
Si EnhancedSeek es true (el valor predeterminado), el servidor genera un nuevo fotograma clave en offset basado en el fotograma clave anterior y todos los fotogramas P que intervienen. Sin embargo, esto crea una alta carga de procesamiento en el servidor y podría producirse una distorsión en el fotograma clave generado. Si el códec de vídeo es On2, el fotograma clave antes del punto de búsqueda y los fotogramas P entre el fotograma clave y el punto de búsqueda se envían al cliente.
Parámetros
offset:Number — El valor de tiempo aproximado, en segundos, de desplazamiento en un archivo de vídeo. Con Flash Media Server, si <EnhancedSeek> se establece en true en el archivo de configuración Application.xml (valor por defecto), el servidor genera un fotograma clave en offset.
|
Véase también
| send | () | método |
public function send(handlerName:String, ... arguments):void
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
Envía un mensaje en una transmisión publicada a todos los clientes suscritos. Este método sólo está disponible para el editor de la transmisión especificada y está pensado para su uso con Flash Media Server. Para procesar y responder a este mensaje, cree un controlador en el objeto NetStream, por ejemplo, ns.HandlerName.
Flash Player no serializa métodos ni datos, variables de prototipos de objetos ni variables no enumerables. En el caso de los objetos de visualización, Flash Player serializa la ruta, pero no los datos.
Puede llamar al método send() para añadir fotogramas clave de datos a una transmisión en vivo enviada a Flash Media Server. Un fotograma clave de datos es un mensaje que añade un editor a la transmisión en vivo. Los fotogramas clave de datos suelen utilizarse para añadir metadatos a una transmisión en vivo antes de que los datos sean capturados para la transmisión desde una cámara y micrófono. El editor puede añadir un fotograma clave de datos en cualquier momento durante la publicación de la transmisión en vivo. El fotograma clave de datos se guarda en la memoria del servidor siempre que el editor esté conectado al servidor.
Los clientes suscritos a la transmisión en vivo antes de que se añada un fotograma clave de datos, lo reciben en cuanto se añade. Los clientes que se suscriben a la transmisión en vivo después de que se añada el fotograma clave de datos, lo reciben cuando se suscriben.
Para añadir un fotograma clave de metadatos a una transmisión en vivo enviada a Flash Media Server, utilice @setDataFrame como nombre del controlador, seguido de dos argumentos adicionales, por ejemplo:
var ns:NetStream = new NetStream(nc);
ns.send("@setDataFrame", "onMetaData", metaData);
El argumento @setDataFrame hace referencia a un controlador especial creado en Flash Media Server. El argumento onMetaData es el nombre de la función callback en la aplicación cliente que detecta el evento onMetaData y recupera los metadatos. El tercer elemento, metaData, es una instancia de Object o Array con propiedades que definen los valores de metadatos. Los editores deben establecer nombres de propiedades que puedan entender fácilmente los suscriptores; consulte la documentación de Flash Media Server para ver una lista de sugerencias de nombres de propiedades.
Utilice @clearDataFrame para borrar un fotograma clave de metadatos que ya se haya definido en la transmisión:
ns.send("@clearDataFrame", "onMetaData");
Parámetros
handlerName:String — El mensaje que se va a enviar; también el nombre del controlador de ActionScript que recibe el mensaje. El nombre del controlador sólo puede tener un nivel de profundidad (es decir, no puede tener el formato principal/secundario) y es relativo al objeto de la transmisión. No utilice ningún término reservado al elegir el nombre de un controlador. Por ejemplo, utilizar "close" como nombre de un controlador provocaría errores en el método. Con Flash Media Server, utilice @setDataFrame para añadir un fotograma clave a la transmisión en vivo o @clearDataFrame para quitarla.
|
|
... arguments — Argumentos opcionales; pueden ser de cualquier tipo. Se serializan y se envían a través de la conexión. El controlador receptor los recibe en el mismo orden. Si un parámetro es un objeto circular (por ejemplo, una lista vinculada circular), el serializador controla las referencias correctamente. Con Flash Media Server, si @setDataFrame es el primer argumento, utilice onMetaData como segundo argumento; para el tercer argumento, transfiera una instancia de Object o Array que tenga los metadatos definidos como propiedades. Consulte la documentación de Flash Media Server para ver una lista de sugerencias de nombres de propiedades. Con @clearDataFrame como primer argumento, utilice onMetaData como segundo parámetro y no como tercero.
|
Véase también
NetStream. Uno se utiliza para publicar una transmisión en vivo en el servidor, mientras que el otro se suscribe a la transmisión.
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.play("dummy");
ns2.client = new CustomClient();
vid.attachNetStream(ns2);
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. El controlador de eventos onMetaData no está registrado con addEventListener(), pero en su lugar es una función callback con el nombre onMetaData, por ejemplo:
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);
| togglePause | () | método |
public function togglePause():void
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
Realiza una pausa o reanuda la reproducción de una transmisión. La primera vez que llame a este método, se realizará una pausa en la reproducción; la siguiente vez, se reanudará la reproducción. Este método se puede utilizar para que los usuarios puedan interrumpir o reanudar la reproducción pulsando sólo un botón.
Véase también
| asyncError | Evento |
flash.events.AsyncErrorEvent
flash.events.AsyncErrorEvent.ASYNC_ERROR
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
Se distribuye cuando se emite una excepción de forma asíncrona, es decir, desde un código asíncrono nativo. Este evento se distribuye cuando el servidor llama al método en un cliente que no está definido.
La constanteAsyncErrorEvent.ASYNC_ERROR define el valor de la propiedad type de un objeto de evento asyncError.
Este evento tiene las propiedades siguientes:
| Propiedad | Valor |
|---|---|
bubbles | false |
cancelable | false; no hay ningún comportamiento predeterminado que cancelar. |
currentTarget | El objeto que procesa de forma activa el objeto de evento con un detector de eventos. |
target | El objeto en el que se produce un error de operación de red. |
error | El error que desencadenó el evento. |
Véase también
| ioError | Evento |
flash.events.IOErrorEvent
flash.events.IOErrorEvent.IO_ERROR
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
Se distribuye cuando se produce un error de entrada o salida que provoca que una operación de red se realice incorrectamente.
Define el valor de la propiedadtype de un objeto de evento ioError.
Este evento tiene las propiedades siguientes:
| Propiedad | Valor |
|---|---|
bubbles | false |
cancelable | false; no hay ningún comportamiento predeterminado que cancelar. |
currentTarget | El objeto que procesa de forma activa el objeto de evento con un detector de eventos. |
target | El objeto de red en el que se produce el error de entrada/salida. |
text | Texto que se mostrará como mensaje de error. |
| netStatus | Evento |
flash.events.NetStatusEvent
flash.events.NetStatusEvent.NET_STATUS
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
Se distribuye cuando un objeto NetStream informa sobre su estado o situación de error. El evento netStatus contiene una propiedad info, que es un objeto de información que contiene información específica sobre el evento, por ejemplo, si el intento de conexión se realizó correctamente o si falló.
type de un objeto de evento netStatus.
Este evento tiene las propiedades siguientes:
| Propiedad | Valor |
|---|---|
bubbles | false |
cancelable | false; no hay ningún comportamiento predeterminado que cancelar. |
currentTarget | El objeto que procesa de forma activa el objeto de evento con un detector de eventos. |
info | Un objeto con propiedades que describen el estado del objeto o la situación de error. |
target | El objeto NetConnection o NetStream que informa sobre su estado. |
Véase también
| onCuePoint | Evento |
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
Se invoca cuando se alcanza un punto de referencia incorporado al reproducir un archivo de vídeo. Puede utilizar este controlador para desencadenar acciones en el código cuando el vídeo alcance un punto de referencia concreto, lo que permite sincronizar otras acciones de la aplicación con eventos de reproducción de vídeo. Para obtener información sobre los formatos de archivo compatibles con Flash Media Server, consulte la documentación de Flash Media Server.
Este evento debe utilizarse con Flash Media Player. No forma parte de la API de Flash Player, pero se incluye en esta referencia del lenguaje para su comodidad. No se puede utilizar el método addEventListener() (ni cualquier otro método EventDispatcher) para detectar o procesar este evento. Más bien, se debe definir una única función callback y vincularla directamente a uno de los siguientes objetos:
client de una instancia de NetStream.Es posible incorporar los tipos de puntos de referencia siguientes en un archivo de vídeo:
time corresponde al fotograma clave exacto. Los puntos de referencia de navegación suelen utilizarse como marcadores o puntos de entrada para que los usuarios puedan navegar por el archivo de vídeo.