Packageflash.net
Classepublic class NetStream
HéritageNetStream Inheritance EventDispatcher Inheritance Object

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

La classe NetStream ouvre une connexion en flux continu unidirectionnel entre Flash Player et Flash Media Server, ou entre Flash Player et le système de fichiers local. Un objet NetStream est un canal dans un objet NetConnection. Ce canal peut publier un flux, à l'aide de NetStream.publish(), ou s'abonner à un flux publié et recevoir des données, à l'aide de NetStream.play(). Vous pouvez publier ou lire des données en direct (en temps réel) et des données préalablement enregistrées. Vous pouvez aussi utiliser les objets NetStream pour envoyer des messages texte à tous les clients abonnés (voir la méthode NetStream.send()).

La lecture de fichiers vidéo externes offre plusieurs avantages par rapport à l'intégration de vidéo dans un document Flash : amélioration des performances et de la gestion de la mémoire, indépendance par rapport aux fréquences vidéo et Flash.

Pour plus d'informations sur les codecs et les formats de fichiers pris en charge, consultez http://www.adobe.com/go/hardware_scaling_fr et la Documentation de Flash Media Server.

La classe NetStream propose un certain nombre de méthodes et de propriétés que vous pouvez utiliser pour suivre la progression du chargement et de la lecture du fichier, et pour permettre à l'utilisateur de contrôler la lecture (arrêt, pause, etc.).

Flux de travail général pour l’audio ou la vidéo en flux continu.La procédure suivante résume le flux de travaux de la publication audio et vidéo en temps réel :

  1. Créez un objet NetConnection.
  2. Utilisez la méthode NetConnection.connect() pour connecter l'occurrence de l'application au serveur.
  3. Créez un objet NetStream pour créer un flux de données au sein de la connexion.
  4. Utiliser la méthode NetStream.attachAudio() pour capturer et envoyer des données audio via le flux et la méthode NetStream.attachCamera() pour capturer et envoyer des données vidéo.
  5. Utilisez la méthode NetStream.publish() pour attribuer au flux continu un nom unique et envoyer les données en continu au serveur afin que d’autres puissent les recevoir. Vous pouvez aussi enregistrer les données au fur et à mesure que vous les publiez afin que les utilisateurs puissent les lire ultérieurement.

Les fichiers SWF qui s’abonnent au flux continu utiliseront le nom transmis à la méthode publish() lorsqu'ils appellent play(), et appelleront la même méthode NetConnection.connect() que l’éditeur. Ils doivent appeler la méthode Video.attachNetStream() pour diffuser la vidéo en continu et la méthode NetStream.play() pour la lire.

Utilisation des images-clés de données avec Flash Media Server.Après avoir créé les objets NetConnection et NetStream, vous pouvez utiliser NetStream.send() pour ajouter des métadonnées aux données audio et vidéo en direct au fur et à mesure que vous les diffusez en continu au serveur. Les métadonnées peuvent être des informations comme la hauteur ou la largeur d'une vidéo, sa durée, le nom de son auteur, etc. Pour définir les métadonnées, utilisez le nom de gestionnaire spécial @setDataFrame comme premier argument de la méthode NetStream.send(). Le client qui reçoit le flux en direct doit également définir un gestionnaire d'événement onMetaData pour récupérer les métadonnées du flux (voir la méthode NetStream.send() pour plus d'informations).

Consulter les exemples

Voir aussi

flash.media.Video
flash.net.NetConnection
send()
onMetaData
Principes de base de la vidéo


Propriétés publiques
 PropriétéDéfini par
  bufferLength : Number
[lecture-seule] Nombre de secondes de données enregistrées dans la mémoire tampon.
NetStream
  bufferTime : Number
Spécifie la durée de la mise en mémoire tampon des messages avant que l’affichage du flux ne commence.
NetStream
  bytesLoaded : uint
[lecture-seule] Nombre d'octets de données ayant été chargés dans Flash Player.
NetStream
  bytesTotal : uint
[lecture-seule] Taille totale, en octets, du fichier chargé dans Flash Player.
NetStream
  checkPolicyFile : Boolean
Spécifie si Flash Player doit tenter de télécharger un fichier de régulation interdomaines à partir du serveur du fichier vidéo chargé avant de commencer à charger ce dernier.
NetStream
  client : Object
Spécifie l’objet sur lequel des méthodes de rappel sont appelées.
NetStream
 Inheritedconstructor : Object
Référence à l'objet de classe ou à la fonction constructeur d'une occurrence donnée d'un objet.
Object
  currentFPS : Number
[lecture-seule] Nombre d'images affichées par seconde.
NetStream
  liveDelay : Number
[lecture-seule] Nombre de secondes de données enregistrées dans le tampon du flux abonné en mode en direct (sans mise en mémoire tampon).
NetStream
  objectEncoding : uint
[lecture-seule] Encodage d’objet (version AMF) de cet objet NetStream.
NetStream
 Inheritedprototype : Object
[static] Référence à l’objet prototype d’un objet de classe ou fonction.
Object
  soundTransform : SoundTransform
Contrôle le son dans l’objet NetStream.
NetStream
  time : Number
[lecture-seule] Position de la tête de lecture, en secondes.
NetStream
Méthodes publiques
 MéthodeDéfini par
  
Crée un flux de diffusion en continu qui permet de lire des fichiers vidéo à l'aide de l'objet NetConnection spécifié.
NetStream
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Enregistre un objet écouteur d’événement auprès d’un objet EventDispatcher afin que l’écouteur soit averti d’un événement.
EventDispatcher
  
Spécifie un flux audio en continu envoyé via un objet NetStream, à partir d’un objet Microphone transmis en tant que source.
NetStream
  
attachCamera(theCamera:Camera, snapshotMilliseconds:int = -1):void
Démarre la capture vidéo à partir de la caméra ou arrête la capture si theCamera est défini sur null.
NetStream
  
Arrête la lecture des données du flux, définit la propriété time sur 0 et met le flux à disposition.
NetStream
 Inherited
Distribue un événement dans le flux d’événements.
EventDispatcher
 Inherited
Vérifie si des écouteurs sont enregistrés auprès de l'objet EventDispatcher pour un type spécifique d’événement.
EventDispatcher
 Inherited
Indique si la propriété spécifiée d'un objet est définie.
Object
 Inherited
Indique si une occurrence de la classe Object figure dans la chaîne de prototype de l'objet spécifié en tant que paramètre.
Object
  
Interrompt la lecture d’un flux vidéo.
NetStream
  
play(... arguments):void
Commence la lecture des fichiers vidéo.
NetStream
 Inherited
Indique si la propriété spécifiée existe et est énumérable.
Object
  
publish(name:String = null, type:String = null):void
Envoie des données audio, vidéo et des messages texte en diffusion continue d’un client au Flash Media Server, en enregistrant éventuellement le flux continu pendant la transmission.
NetStream
  
Indique si les données audio entrantes sont lues dans le flux continu.
NetStream
  
receiveVideo(flagOrFPS:*):void
Indique si les données vidéo entrantes sont lues dans le flux continu.
NetStream
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Supprime un écouteur de l’objet EventDispatcher.
EventDispatcher
  
Reprend la lecture d'un flux vidéo en pause.
NetStream
  
seek(offset:Number):void
Recherche l'image-clé (également appelée Image-I dans l'industrie vidéo) la plus proche de l'emplacement spécifié.
NetStream
  
send(handlerName:String, ... arguments):void
Envoie un message sur le flux publié à tous les clients abonnés.
NetStream
 Inherited
Définit la disponibilité d'une propriété dynamique pour les opérations en boucle.
Object
  
Interrompt ou reprend la lecture d'un flux continu.
NetStream
 Inherited
Renvoie la représentation sous forme de chaîne de l'objet spécifié.
Object
 Inherited
Renvoie la valeur primitive de l'objet spécifié.
Object
 Inherited
Vérifie si un écouteur d’événement est enregistré auprès de cet objet EventDispatcher ou de ses ancêtres pour le type d’événement spécifié.
EventDispatcher
Evénements
 Evénement Synthèse Défini par
 Inherited Distribué lorsque Flash Player a le focus du système d’exploitation et devient actif.EventDispatcher
   Distribué lorsqu'une erreur est renvoyée de manière asynchrone ; autrement dit, lorsqu'elle provient de code asynchrone natif.NetStream
 Inherited Distribué lorsque Flash Player perd le focus du système d’exploitation et devient inactif.EventDispatcher
   Distribué lorsqu'il se produit une erreur d'entrée ou de sortie entraînant l'échec d'une opération réseau.NetStream
   Distribué lorsqu'un objet NetStream publie son état ou signale une erreur.NetStream
   Appelé lorsqu’un point de repère imbriqué est atteint au cours de la lecture d’un fichier vidéo.NetStream
   Distribué lorsque Flash Player reçoit une description imbriquée dans le fichier vidéo lu.NetStream
   Distribué lorsqu'un objet NetStream a lu un flux continu en intégralité.NetStream
Détails des propriétés
bufferLengthpropriété
bufferLength:Number  [lecture-seule]

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Nombre de secondes de données enregistrées dans la mémoire tampon. Vous pouvez utiliser cette propriété conjointement avec bufferTime pour estimer le niveau de remplissage du tampon ; par exemple, pour indiquer ce niveau à un utilisateur qui attend la fin du chargement des données dans le tampon.


Implémentation
    public function get bufferLength():Number

Voir aussi

bufferTimepropriété 
bufferTime:Number  [lecture-écriture]

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Spécifie la durée de la mise en mémoire tampon des messages avant que l’affichage du flux ne commence. Par exemple, pour vous assurer que la lecture du flux continu soit ininterrompue pendant les 15 premières secondes, définissez bufferTime sur 15. Flash commence la lecture du flux continu uniquement 15 secondes après la mise en mémoire tampon des données.

La valeur par défaut est 0.1 (un dixième de seconde). Pour déterminer le nombre de secondes actuellement dans la mémoire tampon, utilisez la propriété bufferLength.

Remarque : Pour éviter toute distorsion lors de la diffusion de contenu pré-enregistré (pas en direct), ne réglez pas la valeur de Netstream.bufferTime sur 0. Par défaut, Flash Player utilise un tampon d'entrée pour le contenu pré-enregistré qui met les données en file d'attente et lit le fichier correctement. Pour le contenu pré-enregistré, utilisez le paramétrage par défaut ou augmentez la durée du tampon.

Flash Media Server. Le comportement du tampon varie en fonction de la définition de la durée du tampon : sur un flux de publication ou sur un flux d'abonnement. Dans le cas d'un flux de publication, bufferTime spécifie la durée pendant laquelle le tampon sortant peut croître avant que Flash ne commence à abandonner des images. Dans le cas d'une connexion haut débit, la durée du tampon n'est pas un problème : les données sont envoyées presque aussi rapidement que ce que Flash peut les mettre en mémoire tampon. Dans le cas d'une connexion bas débit, toutefois, la différence entre la vitesse à laquelle Flash place les données en mémoire tampon et celle à laquelle il peut les envoyer au client peut être importante.

Dans le cas d'un flux d'abonnement, bufferTime spécifie le délai pendant lequel les données entrantes doivent être mises en mémoire tampon avant que l'affichage du flux ne commence. Par exemple, si vous voulez vous assurer que la lecture du flux soit ininterrompue au cours des 15 premières secondes, définissez bufferTime sur 15 ; Flash commencera la lecture du flux uniquement 15 secondes après la mise en mémoire tampon des données.

Lors de la lecture d'un flux enregistré, si bufferTime est défini sur zéro, Flash le définit sur une faible valeur (environ 10 millisecondes). Si des flux en direct sont ensuite lus (par exemple depuis une liste de lecture), cette durée de tampon persiste. Cela signifie que bufferTime demeure non nul pour le flux.


Implémentation
    public function get bufferTime():Number
    public function set bufferTime(value:Number):void

Voir aussi

bytesLoadedpropriété 
bytesLoaded:uint  [lecture-seule]

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Nombre d'octets de données ayant été chargés dans Flash Player. Vous pouvez utiliser cette propriété conjointement avec bytesTotal pour estimer le niveau de remplissage du tampon ; par exemple, pour indiquer ce niveau à un utilisateur qui attend la fin du chargement des données dans le tampon.


Implémentation
    public function get bytesLoaded():uint

Voir aussi

bytesTotalpropriété 
bytesTotal:uint  [lecture-seule]

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Taille totale, en octets, du fichier chargé dans Flash Player.


Implémentation
    public function get bytesTotal():uint

Voir aussi

checkPolicyFilepropriété 
checkPolicyFile:Boolean  [lecture-écriture]

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Spécifie si Flash Player doit tenter de télécharger un fichier de régulation interdomaines à partir du serveur du fichier vidéo chargé avant de commencer à charger ce dernier. Cette propriété est applicable lorsque vous utilisez un objet NetStream pour télécharger progressivement de la vidéo (fichiers autonomes) ou lorsque vous chargez des fichiers se trouvant en dehors du domaine du fichier SWF appelant. Elle n'est pas prise en compte lorsque vous utilisez un objet NetStream pour obtenir une ressource RTMP.

Réglez cette propriété sur true lorsque vous chargez un fichier vidéo qui se trouve hors du domaine du fichier SWF appelant et qu’il vous est nécessaire d’utiliser la méthode BitmapData.draw() pour accéder à la vidéo au niveau des pixels. Si vous appelez BitmapData.draw() sans régler la propriété checkPolicyFile sur true au chargement, vous risquez d'obtenir une exception SecurityError car le fichier de régulation requis n’a pas été téléchargé.

Si vous n’avez pas besoin d’accéder à la vidéo que vous chargez au niveau des pixels, il est préférable de ne pas régler checkPolicyFile sur true. La recherche d’un fichier de régulation consomme de la bande passante et risque de retarder le début du téléchargement.

Lorsque vous appelez NetStream.play() en réglant checkPolicyFile sur true, Flash Player doit télécharger un fichier de régulation interdomaines approprié ou déterminer qu’un tel fichier n’existe pas, avant de commencer à télécharger l’objet spécifié dans votre appel de NetStream.play(). Pour vérifier l’existence d’un fichier de régulation, Flash Player exécute les actions suivantes, dans l’ordre indiqué :

  1. Flash Player examine les fichiers de régulation déjà téléchargés.
  2. Flash Player tente de télécharger tout fichier de régulation en attente spécifié dans les appels de la méthode Security.loadPolicyFile().
  3. Flash Player tente de télécharger un fichier de régulation à partir de l’emplacement par défaut qui correspond à l’URL que vous avez transmise à NetStream.play(), autrement dit /crossdomain.xml sur le même serveur que cette URL.

Dans tous les cas, Flash Player exige que le serveur du fichier vidéo héberge un fichier de régulation approprié, que ce dernier permette d’accéder à l’objet à l’adresse URL que vous avez transmise à play(), sur la base de l’emplacement du fichier de régulation, et qu’il autorise le domaine du fichier SWF appelant à accéder au fichier vidéo, par le biais d’une ou plusieurs balises <allow-access-from>.

Si vous réglez checkPolicyFile sur true, Flash Player attend la vérification du fichier de régulation avant de télécharger la vidéo. Avant de manipuler les données vidéo au niveau des pixels, en appelant BitmapData.draw(), par exemple, attendez d’avoir reçu de votre objet NetStream des événements onMetaData ou NetStatus.

Si vous réglez checkPolicyFile sur true et qu’il n’existe aucun fichier de régulation approprié, vous ne recevez pas de message d’erreur tant que vous n’effectuez pas une opération nécessitant un tel fichier, auquel cas Flash Player renvoie une exception SecurityError.

Servez-vous de checkPolicyFile avec précaution si vous téléchargez un fichier vidéo à partir d'une URL qui utilise des redirections HTTP côté serveur. Flash Player tente d’extraire les fichiers de régulation correspondant à l’URL spécifiée à l’origine dans NetStream.play(). Si le fichier final provient d'une URL différente suite à des redirections HTTP, les fichiers de régulation initialement téléchargés peuvent ne pas être applicables à l’URL finale du fichier, autrement dit l’URL qui doit faire l'objet des mesures de sécurité.

Pour plus d’informations sur les fichiers de régulation, consultez le chapitre « Sécurité de Flash Player » du manuel Programmation d'ActionScript 3.0.


Implémentation
    public function get checkPolicyFile():Boolean
    public function set checkPolicyFile(value:Boolean):void

Voir aussi

clientpropriété 
client:Object  [lecture-écriture]

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Spécifie l’objet sur lequel des méthodes de rappel sont appelées. L’objet par défaut correspond à this, l’objet NetStream en cours de création. Si vous réglez la propriété client sur un autre objet, les méthodes de rappels sont appelées sur celui-ci.


Implémentation
    public function get client():Object
    public function set client(value:Object):void

Lance
TypeError — La propriété client ne peut pas être réglée sur l’objet null.
currentFPSpropriété 
currentFPS:Number  [lecture-seule]

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Nombre d'images affichées par seconde. Si vous exportez des fichiers vidéo pour les lire sur différents systèmes, vous pouvez vérifier cette valeur pendant le test afin de déterminer la compression à appliquer lors de l'exportation du fichier.


Implémentation
    public function get currentFPS():Number
liveDelaypropriété 
liveDelay:Number  [lecture-seule]

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Nombre de secondes de données enregistrées dans le tampon du flux abonné en mode en direct (sans mise en mémoire tampon). Cette propriété spécifie l'actuel délai de transmission réseau (retard).

Cette propriété est surtout conçue pour une utilisation avec un serveur, tel que Flash Media Server. Pour en savoir plus, consultez la description de la classe.

Vous pouvez extraire la valeur de cette propriété pour évaluer approximativement la qualité de transmission du flux continu, et la communiquer à l’utilisateur.


Implémentation
    public function get liveDelay():Number
objectEncodingpropriété 
objectEncoding:uint  [lecture-seule]

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Encodage d’objet (version AMF) de cet objet NetStream. L’objet NetStream hérite de sa valeur objectEncoding de l’objet NetConnection associé. Il est important de comprendre cette propriété si votre fichier SWF ActionScript 3.0 doit communiquer avec des serveurs antérieurs à Flash Player 9. Pour plus d’informations, consultez la description de la propriété objectEncoding dans la classe NetConnection.

La valeur de cette propriété varie selon la nature du flux continu, local ou distant. Les flux locaux, dans lesquels null a été transmis à la méthode NetConnection.connect(), renvoient la valeur de NetConnection.defaultObjectEncoding. Les flux distants, pour lesquels vous êtes connecté(e) à un serveur, renvoient l'encodage d'objet de la connexion au serveur.

Si vous tentez de lire cette propriété sans être connecté(e) ou si vous tentez de la modifier, Flash Player renvoie une exception.


Implémentation
    public function get objectEncoding():uint

Voir aussi

soundTransformpropriété 
soundTransform:SoundTransform  [lecture-écriture]

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Contrôle le son dans l’objet NetStream. Pour plus d’informations, consultez la description de la classe SoundTransform.


Implémentation
    public function get soundTransform():SoundTransform
    public function set soundTransform(value:SoundTransform):void

Voir aussi

timepropriété 
time:Number  [lecture-seule]

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Position de la tête de lecture, en secondes.

Flash Media Server Dans le cas d'un flux d'abonnement, nombre de secondes pendant lequel le flux a été lu. Dans le cas d'un flux de publication, nombre de secondes pendant lequel le flux a été publié. Ce nombre est précis au millième près ; multipliez-le par 1000 pour obtenir le nombre de millisecondes pendant lequel le flux a été lu.

Dans le cas d'un flux d'abonnement, si le serveur cesse d'envoyer des données et que le flux demeure ouvert, l'incrémentation de la valeur de time s'arrête. Lorsque le serveur recommence à envoyer des données, la valeur reprend son incrémentation à l'endroit où elle s'était arrêtée, plus le temps écoulé depuis que aucune donnée n'a été envoyée.

L'incrémentation de la valeur de time se poursuit lorsque le flux bascule d'un élément de la liste de lecture à un autre. Cette propriété est définie sur 0 lorsque NetStream.play() est appelé avec reset défini sur 1 ou sur true, ou lorsque NetStream.close() est appelé.


Implémentation
    public function get time():Number

Voir aussi

Détails du constructeur
NetStream()Constructeur
public function NetStream(connection:NetConnection)

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Crée un flux de diffusion en continu qui permet de lire des fichiers vidéo à l'aide de l'objet NetConnection spécifié.

Pour plus d'informations sur les codecs et les formats de fichiers pris en charge, consultez http://www.adobe.com/go/hardware_scaling_fr et la Documentation de Flash Media Server.

Paramètres
connection:NetConnection — Objet NetConnection.

Lance
ArgumentError — L’occurrence de NetConnection n’est pas connectée.

Voir aussi

Détails des méthodes
attachAudio()méthode
public function attachAudio(microphone:Microphone):void

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Spécifie un flux audio en continu envoyé via un objet NetStream, à partir d’un objet Microphone transmis en tant que source. Cette méthode n'est accessible qu'à l’éditeur du flux continu spécifié.

La méthode attachAudio est conçue pour une utilisation avec Flash Media Server. Cette méthode est souvent appelée par un utilisateur qui envoie des données audio en direct (ou des données vidéo en direct avec son) depuis un ordinateur client vers le serveur.

Vous pouvez appeler cette méthode avant ou après la méthode publish() et le démarrage réel de la transmission. Les abonnés qui souhaitent entendre le son doivent appeler la méthode NetStream.play(). Vous pouvez contrôler les propriétés audio du flux audio par le biais de la propriété soundTransform de l’objet Microphone spécifié.

Paramètres

microphone:Microphone — Source du flux audio à transmettre.

Voir aussi

attachCamera()méthode 
public function attachCamera(theCamera:Camera, snapshotMilliseconds:int = -1):void

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Démarre la capture vidéo à partir de la caméra ou arrête la capture si theCamera est défini sur null. Cette méthode n'est accessible qu'à l’éditeur du flux continu spécifié.

Cette méthode est conçue pour une utilisation avec Flash Media Server. Pour en savoir plus, consultez la description de la classe.

Une fois la source vidéo associée, vous devez appeler NetStream.publish() pour commencer la transmission. Les abonnés qui souhaitent afficher la vidéo doivent appeler les méthodes NetStream.play() et Video.attachCamera() pour afficher la vidéo sur la scène.

Vous pouvez utiliser snapshotMilliseconds pour envoyer un instantané unique (valeur 0) ou une série d’instantanés, soit une séquence en accéléré (time lapse), en spécifiant un nombre positif qui ajoute à la source vidéo le nombre indiqué de millisecondes. Ce nombre étend la durée d’affichage du message vidéo. Si vous appelez attachCamera() à plusieurs reprises en définissant une valeur positive pour snapshotMilliseconds, la séquence d’instantanés et les millisecondes supplémentaires en alternance créent une séquence en accéléré. Vous pouvez, par exemple, capturer une image par jour et l’ajouter à la fin du fichier vidéo. Lorsqu’un abonné lit le fichier, chaque image s’affiche pendant le nombre spécifié de millisecondes, puis l’image suivante apparaît.

Le paramètre snapshotMilliseconds n’a pas le même objectif que le paramètre fps, que vous pouvez définir à l’aide de la méthode Camera.setMode(). Lorsque vous spécifiez snapshotMilliseconds, vous contrôlez le temps qui s’écoule entre les images enregistrées. Lorsque vous spécifiez fps à l’aide de Camera.setMode(), vous contrôlez le temps qui s'écoule à l’enregistrement et à la lecture.

Imaginons, par exemple, que vous voulez capturer 100 instantanés, à raison d’un instantané toutes les 5 minutes. Deux solutions s’offrent à vous :

Ces deux techniques capturent les mêmes 500 images et les deux sont utiles. Votre choix doit être déterminé principalement par le type de lecture souhaité. Dans le second cas, par exemple, vous pourriez enregistrer du son en même temps. Par ailleurs, les deux fichiers feraient environ la même taille.

Paramètres

theCamera:Camera — Source de la transmission vidéo. Les valeurs supportées sont un objet Camera (qui amorce la capture vidéo) et null. Si vous utilisez null, Flash Player arrête la capture vidéo et tous les autres paramètres que vous envoyez sont ignorés.
 
snapshotMilliseconds:int (default = -1) — Spécifie si le flux vidéo est continu, une image unique ou une série d’images uniques utilisées pour créer une séquence en accéléré.
  • Si vous omettez ce paramètre, Flash Player capture toutes les données vidéo jusqu’à ce que vous transmettiez la valeur null à attachCamera.
  • Si vous transmettez 0, Flash Player capture une seule image vidéo. Utilisez cette valeur pour transmettre des « instantanés » dans un flux préexistant. Flash considère que les arguments non valides, négatifs ou non-numériques sont égaux à 0.
  • Si vous transmettez une valeur positive, Flash capture une image vidéo unique, puis ajoute une pause de la durée spécifiée en suffixe sur l’instantané. Utilisez cette valeur pour créer des effets d’accéléré.

close()méthode 
public function close():void

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Arrête la lecture des données du flux, définit la propriété time sur 0 et met le flux à disposition. Cette méthode supprime également la copie locale d'un fichier vidéo téléchargé via HTTP. Même si Flash Player supprime la copie locale du fichier qu'il crée, une copie peut subsister dans le répertoire cache du navigateur. Si vous devez empêcher toute mise en cache ou tout stockage local du fichier vidéo, utilisez Flash Media Server.

Avec Flash Media Server, cette méthode est invoquée implicitement lorsque vous appelez NetStream.play() depuis un flux de publication ou NetStream.publish() depuis un flux d'abonnement. Veuillez noter que :

Voir aussi

pause()méthode 
public function pause():void

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Interrompt la lecture d’un flux vidéo. L’appel de cette méthode n’a aucune incidence si la vidéo est déjà en pause. Pour reprendre la lecture d'une vidéo après une pause, appelez resume(). Pour basculer entre la pause et la lecture (en commençant par mettre la vidéo en pause, puis en reprenant la lecture), appelez togglePause().

Voir aussi

play()méthode 
public function play(... arguments):void

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Commence la lecture des fichiers vidéo.

Pour plus d'informations sur les codecs et les formats de fichiers pris en charge, consultez http://www.adobe.com/go/hardware_scaling_fr et la Documentation de Flash Media Server.

Pour afficher les données vidéo, vous devez créer un objet Video et appeler la méthode Video.attachNetStream() ; la lecture des données audio transmises en continu avec la vidéo, ou d'un fichier contenant uniquement des données audio, s'effectue automatiquement. Pour diffuser des données audio en continu à partir d'un microphone, utilisez la méthode NetStream.attachAudio() et contrôlez certains aspects du son par le biais de l’objet Microphone.

Pour contrôler la partie audio associée à un fichier vidéo, vous pouvez utiliser la méthode DisplayObjectContainer.addChild() pour acheminer le son vers un objet de la liste d’affichage. Vous pouvez ensuite créer un objet Sound pour contrôler certains aspects du son. Pour plus d’informations, consultez la méthode DisplayObjectContainer.addChild().

Si le fichier vidéo est introuvable, l'événement netStatus est distribué. Pour arrêter un flux continu en cours de lecture, utilisez la méthode close().

Lorsque vous utilisez cette méthode sans Flash Media Server, tenez compte du modèle de sécurité de Flash Player. Un fichier SWF, placé dans le sandbox local approuvé ou local avec accès au réseau, peut charger et lire un fichier vidéo à partir du sandbox distant. Cependant, il ne peut pas accéder aux données de ce fichier distant sans une autorisation explicite, accordée sous forme de fichier de régulation interdomaines. Vous pouvez également empêcher un fichier SWF d'utiliser cette méthode en définissant le paramètre allowNetworking des balises object et embed dans la page HTML qui stocke le contenu SWF.

Pour plus d'informations, consultez les références suivantes :

Paramètres

... arguments — Emplacement du fichier vidéo à lire, sous la forme d’un objet URLRequest ou d’une chaîne. Vous pouvez lire les fichiers vidéo locaux stockés dans le même répertoire que le fichier SWF ou dans un sous-répertoire. Vous ne pouvez toutefois pas naviguer vers un répertoire de niveau supérieur.

Flash Media Server Pour lire les fichiers vidéo sur Flash Media Server, spécifiez le nom du flux sans extension de fichier (par exemple bolero). Pour lire les fichiers MP3, utilisez mp3: avant le nom du flux. Pour lire les balises ID3 des fichiers MP3, utilisez id3: avant le nom du flux.

Avec Flash Media Server, play() prends les arguments suivants :

NomObligatoireDescription
name:ObjectObligatoire Nom d'un fichier enregistré sans extension, un identifiant des données en direct publiées par NetStream.publish() ou false. Pour lire les fichiers MP3, utilisez mp3: avant le nom. Pour lire la balise ID3 d'un fichier MP3, utilisez id3: avant le nom. Si false, le flux arrête la lecture et tout paramètre supplémentaire est ignoré.
start:NumberFacultatif Renvoie l’instant de départ, en secondes. Les valeurs autorisées sont -2, -1, 0 ou un nombre positif. La valeur par défaut est -2, qui recherche un flux en direct, puis un flux enregistré, et ouvre un flux en direct lorsqu'il ne trouve ni l'un ni l'autre. Si -1, lit uniquement un flux en direct. Si 0 ou un nombre positif, lit un flux enregistré en commençant par start en secondes.
len:Number Facultatif si start est spécifié. Durée de la lecture, en secondes. Les valeurs autorisées sont -1, -0 ou un nombre positif. La valeur par défaut est -1, qui lit un flux en direct ou enregistré jusqu'à la fin. Si 0, lit une unique image de start secondes par rapport au début d'un flux enregistré. S'il s'agit d'un nombre positif, lit un flux en direct ou enregistré pendant len secondes.
reset:Object Facultatif si len est spécifié. Indique si une liste de lecture doit être effacée. La valeur par défaut est 1 ou true, qui efface tous les appels play précédents et lit name immédiatement. Si 0 ou false, ajoute le flux dans une liste de lecture. Si 2, conserve la liste de lecture et renvoie tous les messages du flux en une seule opération, plutôt que par intervalles. Si 3, efface la liste de lecture et renvoie tous les messages du flux en une seule opération.


Lance
SecurityError — Les fichiers SWF locaux et non approuvés ne peuvent pas communiquer avec Internet. Pour contourner cette restriction, reclassifiez le fichier SWF en tant que fichier local avec accès au réseau ou en tant que fichier approuvé.
 
ArgumentError — Il est nécessaire de spécifier au moins un paramètre.
 
Error — L'objet NetStream n'est pas valide. Cela peut être dû à un échec de NetConnection.

Voir aussi


Exemple
Flash Media Server Cet exemple lit un flux enregistré, en commençant au début, pendant 100 secondes au maximum :
  ns.play("record1", 0, 100, true);
  
Flash Media Server Cet exemple lit un flux en direct publié par un client, du début à la fin, en commençant immédiatement et en effaçant tous les flux précédents :
  ns.play("stephen");
  
publish()méthode 
public function publish(name:String = null, type:String = null):void

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Envoie des données audio, vidéo et des messages texte en diffusion continue d’un client au Flash Media Server, en enregistrant éventuellement le flux continu pendant la transmission. Cette méthode n'est accessible qu'à l’éditeur du flux continu spécifié.

N’utilisez pas cette méthode pour permettre à un client de lire un flux continu déjà publié et enregistré. A cet effet, créez plutôt une occurrence de NetStream pour ce client et appelez la méthode play() :

  var subscribeNS:NetStream = new NetStream(myNetConnection);
  subscribeNS.play("streamToPlay");
  

Lorsque vous enregistrez un flux avec Flash Media Server, le serveur crée un fichier et le stocke dans un sous-répertoire du répertoire de l'application sur le serveur. Chaque flux est stocké dans un répertoire dont le nom correspond au nom de l'occurrence de l'application transmis à NetConnection.connect(). Le serveur crée ces répertoires automatiquement. Vous n’avez donc pas à en créer un pour chaque occurrence de l'application. Le code suivant, par exemple, vous indique comment vous connecter à une occurrence spécifique d’une application enregistrée dans le sous-répertoire lectureSeries du répertoire de votre application. Un fichier nommé lecture.flv est enregistré dans le sous-répertoire /votreDossierApps/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");
  

L’exemple suivant vous indique comment vous connecter à une autre occurrence de la même application, mais en émettant une commande de publication identique. Un fichier nommé lecture.flv est enregistré dans le sous-répertoire /votreDossierApps/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 vous ne transmettez pas, pour le nom de l’occurrence, une valeur correspondant à la valeur transmise à la propriété name est enregistrée dans le sous-répertoire /votreDossierApp/nomApp/streams/_definst_ (ou « default instance », occurrence par défaut). Pour plus d'informations sur l'utilisation des noms d’occurrence, consultez la méthode NetConnection.connect(). Pour plus d'informations sur la lecture des fichiers vidéo, consultez la méthode NetStream.play().

Lorsqu'un client d'une application Flash Media Server appelle publish(), l'application reçoit un événement onPublish. L'application doit gérer l'événement dans un script coté serveur. Lorsque le client arrête la publication, l'application reçoit un événement onUnpublish. Pour plus d'informations, consultez le Guide de référence ActionScript de Flash Media Server côté serveur.

Cette méthode peut distribuer un événement netStatus associé à différents objets d'informations. Si, par exemple, une personne publie déjà sur un flux continu en utilisant le nom spécifié, l’événement netStatus est distribué avec une propriété code correspondant à NetStream.Publish.BadName. Pour plus d’informations, consultez l’événement netStatus.

Paramètres

name:String (default = null) — Chaîne identifiant le flux continu. Si vous transmettez false, l’opération de publication est interrompue. Les clients qui s’abonnent à ce flux continu doivent transmettre le même nom lorsqu’ils appellent NetStream.play(). Il est inutile d’ajouter une extension de fichier au nom du flux continu. N'ajoutez pas une "/" après le nom du flux. Par exemple, n'utilisez pas le nom de flux "bolero/".
 
type:String (default = null) — Chaîne spécifiant le mode de publication du flux continu. Les valeurs supportées sont record, append et live. La valeur par défaut est live.
  • Si vous transmettez record, Flash Player publie et enregistre des données en direct, qu'il place dans un nouveau fichier dont le nom correspond à la valeur transmise au paramètre name. Le fichier est enregistré sur le serveur dans un sous-répertoire du répertoire hébergeant l’application serveur. Si le fichier existe déjà, il est remplacé.
  • Si vous transmettez "append", Flash Player publie et enregistre des données en direct, les ajoutant à la fin d’un fichier dont le nom correspond à la valeur transmise au paramètre name et qui figure sur le serveur dans un sous-répertoire du répertoire hébergeant l’application serveur. Si aucun fichier dont le nom correspond au paramètre name n'est détecté, un fichier est créé.
  • Si vous omettez ce paramètre ou utilisez live, Flash Player publie des données en direct sans les enregistrer. Si un fichier dont le nom correspond à la valeur transmise au paramètre name existe, il est supprimé.

Voir aussi

receiveAudio()méthode 
public function receiveAudio(flag:Boolean):void

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Indique si les données audio entrantes sont lues dans le flux continu. Cette méthode n'est accessible qu'aux clients abonnés au flux continu spécifié, et non à l’éditeur de ce dernier.

Cette méthode est conçue à l'origine pour une utilisation avec Flash Media Server. Pour en savoir plus, consultez la description de la classe.

Vous pouvez appeler cette méthode avant ou après la méthode NetStream.play() et le démarrage réel de la transmission. Vous pouvez, par exemple, associer ces méthodes à un bouton sur lequel l’utilisateur clique pour désactiver ou activer la lecture du flux continu audio entrant.

Si le flux continu spécifié contient uniquement des données audio, la transmission de la valeur false à cette méthode interdit toute incrémentation additionnelle de NetStream.time.

Paramètres

flag:Boolean — Spécifie si les données audio entrantes sont lues dans le flux (true) ou non (false). La valeur par défaut est true.

receiveVideo()méthode 
public function receiveVideo(flagOrFPS:*):void

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Indique si les données vidéo entrantes sont lues dans le flux continu. Cette méthode n'est accessible qu'aux clients abonnés au flux continu spécifié, et non à l’éditeur de ce dernier.

Cette méthode est conçue à l'origine pour une utilisation avec Flash Media Server. Pour en savoir plus, consultez la description de la classe.

Vous pouvez appeler cette méthode avant ou après la méthode NetStream.play() et le démarrage réel de la transmission. Vous pouvez, par exemple, associer ces méthodes à un bouton sur lequel l’utilisateur appuie pour afficher ou masquer le flux vidéo entrant.

Si le flux continu spécifié contient uniquement des données vidéo, la transmission de la valeur false à cette méthode interdit toute incrémentation additionnelle de NetStream.time.

Paramètres

flagOrFPS:* — Indique si les données vidéo entrantes de ce flux sont lues (true) ou non (false). La valeur par défaut est true. Vous pouvez également utiliser un nombre entier pour spécifier la fréquence par seconde de la vidéo entrante. Si vous ne spécifiez pas de fréquence, la fréquence est définie par défaut sur celle de la vidéo en direct ou enregistrée en cours de lecture.

resume()méthode 
public function resume():void

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Reprend la lecture d'un flux vidéo en pause. Si la vidéo est en cours de lecture, l’appel de cette méthode n'a aucun effet.

Voir aussi

seek()méthode 
public function seek(offset:Number):void

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Recherche l'image-clé (également appelée Image-I dans l'industrie vidéo) la plus proche de l'emplacement spécifié. L'image-clé est placée à un décalage, en secondes, depuis le début du flux.

Les flux vidéo sont généralement encodés avec deux types d'image, les images-clés (ou images I) et les images P. Une image clé contient l'ensemble de l'image, alors qu'une image P est une image intérimaire qui fournit des informations vidéo supplémentaires entre les images-clé. Un flux vidéo présente généralement une image-clé toutes les 10 à 50 images.

Sur Flash Media Server, le comportement de seek() est contrôlé par la valeur de l'élément EnhancedSeek du fichier de configuration Application.xml.

Si la valeur de EnhancedSeek est false, le serveur utilise le mode de recherche normal. En mode de recherche normal, le serveur commence la diffusion en continu à partir de l'image-clé la plus proche. Par exemple, si une vidéo présente des images-clés à 0 et 10 secondes, une recherche de 4 secondes entraîne un démarrage de la lecture à 4 secondes via l'image clé placée à 0 secondes. La vidéo demeure figée jusqu'à ce qu'elle atteigne la prochaine image-clé placée à 10 secondes. Pour améliorer les recherches, vous devez réduire l'intervalle des images-clés. En mode de recherche normal, vous ne pouvez pas démarrer la vidéo à un point placé entre les images clés.

Si EnhancedSeek est true, valeur par défaut, le serveur génère une nouvelle image-clé au niveau du décalage en fonction de l'image-clé précédente et de toute image P intermédiaire. Cela crée toutefois une charge de traitement élevée sur le serveur et une distorsion peut survenir dans l'image-clé générée. Si le codec vidéo est On2, l'image-clé située avant le point de recherche et toute image P située entre l'image-clé et le point de recherche sont envoyées au client.

Paramètres

offset:Number — Valeur de temps approximative, en secondes, à atteindre dans un fichier vidéo. Avec Flash Media Server, si la propriété <EnhancedSeek> est définie sur true dans le fichier de configuration Application.xml (configuration par défaut), le serveur génère une image clé au décalage.
  • Pour revenir au début du flux continu, transmettez 0 pour offset.
  • Pour effectuer une recherche en partant du début du flux continu, transmettez le nombre de secondes à appliquer. Par exemple, pour placer la tête de lecture à 15 secondes du début (ou sur l'image-clé avant 15 secondes), utilisez myStream.seek(15).
  • Pour faire une recherche par rapport à la position actuelle, transmettez NetStream.time + n ou NetStream.time - n pour rechercher n secondes vers l'avant ou l'arrière, par rapport à la position actuelle. Par exemple, pour revenir en arrière de 20 secondes par rapport à la position actuelle, utilisez NetStream.seek(NetStream.time - 20).

Voir aussi

send()méthode 
public function send(handlerName:String, ... arguments):void

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Envoie un message sur le flux publié à tous les clients abonnés. Cette méthode n'est disponible que pour l'éditeur du flux spécifié et est conçue pour une utilisation avec Flash Media Server. Pour traiter et répondre à ce message, créer un gestionnaire sur l'objet NetStream, par exemple ns.HandlerName.

Flash Player ne sérialise pas les méthodes ni leurs données, les variables de prototype d’objet ou les variables non énumérables. Pour les objets d’affichage, Flash Player sérialise le chemin, mais pas les données.

Vous pouvez appeler la méthode send() pour ajouter des images-clés de données à un flux en direct envoyé à Flash Media Server. Une image-clé de données est un message ajouté à un flux en direct par un éditeur. Les images-clés de données sont généralement utilisées pour ajouter des métadonnées à un flux en direct avant la capture des données pour le flux à partir de la caméra et du microphone. Un éditeur peut à tout moment ajouter une image-clé de données pendant la publication du flux. L'image-clé de données est enregistrée dans la mémoire du serveur tant que l'éditeur y est connecté.

Les clients abonnés au flux en direct avant l'ajout d'une image-clé de données reçoivent cette image-clé dès son ajout. Les clients qui s'abonnent au flux en direct après l'ajout de l'image-clé reçoivent cette image clé lorsqu'ils s'abonnent.

Pour ajouter une image-clé de métadonnées dans un flux en direct envoyé à Flash Media Server, utilisez @setDataFrame comme nom de gestionnaire, suivi de deux arguments supplémentaires, tels que :

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

L'argument @setDataFrame fait référence à un gestionnaire spécial intégré au Flash Media Server. L'argument onMetaData est le nom d'une fonction de rappel de votre application client qui écoute l'événement onMetaData et récupère les métadonnées. Le troisième élément, metaData, est une occurrence de Object ou Array dont les propriétés définissent les valeurs des métadonnées. Les éditeurs doivent définir des noms de propriété aisément compréhensibles par les abonnés ; vous trouverez une liste de noms de propriété conseillés dans la Documentation de Flash Media Server.

Utilisez @clearDataFrame pour effacer une image-clé de métadonnées déjà définie dans le flux :

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

Paramètres

handlerName:String — Message à envoyer ; également le nom du gestionnaire ActionScript qui reçoit le message. Le nom du gestionnaire ne peut avoir qu’un seul niveau (autrement dit, il ne peut pas être au format parent/enfant) et est relatif à l’objet flux. N’utilisez pas un terme réservé comme nom du gestionnaire. Par exemple, l’attribution du nom close au gestionnaire entraîne l’échec de la méthode. Avec Flash Media Server, utilisez @setDataFrame pour ajouter une image-clé de métadonnées à un flux en direct ou @clearDataFrame pour supprimer une image-clé.
 
... arguments — Les arguments facultatifs peuvent être de n'importe quel type. Ils sont sérialisés et envoyés via la connexion, et le gestionnaire de destination les reçoit dans le même ordre. Si un paramètre représente un objet circulaire (une liste liée qui est circulaire, par exemple), l’utilitaire de sérialisation gère correctement les références. Avec Flash Media Server, si @setDataFrame est le premier argument, utilisez onMetaData comme second argument ; pour le troisième argument, transmettez une occurrence de Object ou Array possédant les métadonnées définies comme propriétés. Vous trouverez une liste de noms de propriétés conseillés dans la Documentation de Flash Media Server. Avec @clearDataFrame comme premier argument, utilisez onMetaData comme second argument et pas de troisième argument.

Voir aussi


Exemple
Flash Media Server L'exemple suivant crée deux objets NetStream. L'un est utilisé pour publier un flux en direct sur le serveur, l'autre s'abonne au flux.
  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);
        }
     }
  
Flash Media Server L'exemple suivant crée des métadonnées et les ajoutent à un flux en direct :
  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() );  
            }
         }
  
Flash Media Server Pour répondre à une image-clé de données ajoutée à une vidéo, le client doit définir un gestionnaire d'événement onMetaData. Le gestionnaire d'événement onMetaData n'est pas enregistré avec addEventListener(), mais correspond à une fonction de rappel nommée onMetaData, par exemple :
  public function onMetaData(info:Object):void {
     trace("width: " + info.width);
     trace("height: " + info.height);
  }
  
Flash Media Server Cet exemple décrit la création d'une liste de lecture sur le serveur :
  // 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);
  
Flash Media Server Si le fichier vidéo enregistré contient uniquement des messages de données, vous pouvez soit le lire à la vitesse à laquelle il a été enregistré à l'origine, soit obtenir tous les messages de données en une seule opération.
  //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éthode 
public function togglePause():void

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Interrompt ou reprend la lecture d'un flux continu. Lorsque vous appelez cette méthode pour la première fois, la lecture est interrompue ; au prochain appel, la lecture reprend. Vous pouvez par exemple utiliser cette méthode pour permettre aux utilisateurs d’interrompre ou de reprendre la lecture par pression d'un seul bouton.

Voir aussi

Détails des événements
asyncError Evénement
Type d'objet événement: flash.events.AsyncErrorEvent
AsyncErrorEvent.type property = flash.events.AsyncErrorEvent.ASYNC_ERROR

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Distribué lorsqu’une erreur est renvoyée de manière asynchrone ; autrement dit, lorsqu'elle provient du code asynchrone natif. Cet événement est distribué lorsqu’un serveur appelle une méthode non définie sur le client.

La constante AsyncErrorEvent.ASYNC_ERROR définit la valeur de la propriété type d'un objet événement asyncError.

Les propriétés de cet événement sont les suivantes :

PropriétéValeur
bubblesfalse
cancelablefalse ; il n’existe aucun comportement par défaut à annuler.
currentTargetL’objet qui traite activement l’objet Event avec un écouteur d’événements.
targetObjet qui subit l'échec de l'opération réseau.
errorErreur qui a déclenché l’événement.

Voir aussi

ioError Evénement  
Type d'objet événement: flash.events.IOErrorEvent
IOErrorEvent.type property = flash.events.IOErrorEvent.IO_ERROR

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Distribué lorsqu'il se produit une erreur d'entrée ou de sortie entraînant l’échec d’une opération réseau.

Définit la valeur de la propriété type d’un objet événement ioError.

Les propriétés de cet événement sont les suivantes :

PropriétéValeur
bubblesfalse
cancelablefalse ; il n’existe aucun comportement par défaut à annuler.
currentTargetL’objet qui traite activement l’objet Event avec un écouteur d’événements.
targetObjet réseau sur lequel l’erreur d’entrée/sortie s’est produite.
textTexte à afficher en tant que message d’erreur.
netStatus Evénement  
Type d'objet événement: flash.events.NetStatusEvent
NetStatusEvent.type property = flash.events.NetStatusEvent.NET_STATUS

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Distribué lorsqu’un objet NetStream publie son état ou signale une erreur. L’événement netStatus renferme une propriété info composée d'un objet d'informations contenant des informations spécifiques sur l’événement, telles que la réussite ou l’échec d’une tentative de connexion.

Définit la valeur de la propriété type d'un objet événement netStatus.

Les propriétés de cet événement sont les suivantes :

PropriétéValeur
bubblesfalse
cancelablefalse ; il n’existe aucun comportement par défaut à annuler.
currentTargetL’objet qui traite activement l’objet Event avec un écouteur d’événements.
infoObjet associé à des propriétés décrivant son état ou indiquant une erreur.
targetObjet NetConnection ou NetStream publiant son état.

Voir aussi

onCuePoint Evénement  

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Appelé lorsqu’un point de repère imbriqué est atteint au cours de la lecture d’un fichier vidéo. Vous pouvez utiliser ce gestionnaire pour déclencher des actions dans votre code lorsque le fichier vidéo atteint un point de repère spécifique. Ceci vous permet de synchroniser d’autres actions dans votre application avec les événements de lecture vidéo. Pour plus d'informations sur les formats de fichier vidéo pris en charge par Flash Media Server, consultez la Documentation de Flash Media Server.

Cet événement est conçu pour une utilisation avec Flash Media Server. Il ne fait pas partie de l’API Flash Player, mais est inclus dans ce guide de référence du langage pour votre convenance. Vous ne pouvez pas utiliser la méthode addEventListener() ni toute autre méthode EventDispatcher pour écouter ou traiter cet événement. Vous devez en revanche définir une fonction de rappel unique et l’associer directement à l'un des objets suivants :

Il est possible d’imbriquer les types de point de repère suivants dans un fichier vidéo :

L'objet événement onCuePoint possède les propriétés suivantes :

PropriétéDescription
nameNom attribué au point de repère lors de son imbrication dans le fichier vidéo.
paramètresTableau associatif de chaînes constituées de paires nom/valeur spécifiées pour ce point de repère. Il est possible d’utiliser toute chaîne valide pour le paramètre de nom ou de valeur.
timeDurée (en secondes) jusqu'au point de repère qui survient dans le fichier vidéo au cours de la lecture.
typeType de point de repère atteint, navigation ou événement.

Vous pouvez définir des points de repère dans un fichier vidéo lorsque vous encodez initialement celui-ci ou lorsque vous importez un clip vidéo dans l’outil de programmation de Flash à l’aide de l'assistant d’importation vidéo.

L’événement onMetaData extrait également des informations sur les points de repère d'un fichier vidéo. Toutefois, l’événement onMetaData extrait des informations sur tous les points de repère avant le début de la lecture du fichier. L’événement onCuePoint extrait des informations sur un seul point de repère, au minutage spécifié pour ce point au cours de la lecture.

En règle générale, pour que votre code réagisse à un certain point de repère au moment où il se produit, utilisez l’événement onCuePoint pour déclencher une action dans votre code.

Vous pouvez utiliser la liste de points de repère fournie à l’événement onMetaData pour permettre à l’utilisateur de commencer à lire la vidéo à des points prédéfinis du flux vidéo. Transmettez la valeur de la propriété time du point de repère à la méthode NetStream.seek() pour lire la vidéo à partir de ce dernier.

Voir aussi

onMetaData Evénement  

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Distribué lorsque Flash Player reçoit une description imbriquée dans le fichier vidéo lu. Pour plus d'informations sur les formats de fichier vidéo pris en charge par Flash Media Server, consultez la Documentation de Flash Media Server.

Cet événement spécial est conçu pour une utilisation avec Flash Media Server. Pour en savoir plus, consultez la description de la classe. Techniquement, il ne fait pas partie de l’API Flash Player, mais est inclus dans ce guide de référence du langage pour votre convenance. Vous ne pouvez pas utiliser la méthode addEventListener() ni toute autre méthode EventDispatcher pour écouter ou traiter cet événement. Vous devez en revanche définir une fonction de rappel unique et l’associer directement à l'un des objets suivants :

L'utilitaire Flash Video Exporter (version 1.1 ou supérieure) intègre la durée de la vidéo, sa date de création, les débits et d'autres informations dans le fichier vidéo. Différents encodeurs vidéo intègrent différents jeux de métadonnées.

Cet événement est déclenché après un appel de la méthode NetStream.play(), mais avant que la tête de lecture vidéo n'ait avancé.

Dans la plupart des cas, la valeur de durée intégrée dans les métadonnées du flux se rapproche de la durée réelle, mais n'est pas exacte. En d'autres termes, elle ne correspond pas toujours à la valeur de la propriété NetStream.time lorsque la tête de lecture est à la fin du flux vidéo.

Voir aussi

onPlayStatus Evénement  

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9

Distribué lorsqu’un objet NetStream a intégralement lu un flux continu. Ce gestionnaire renvoie des objets d’informations qui fournissent des renseignements supplémentaires, en plus de ce que renvoie l’événement netStatus. Vous pouvez utiliser ce gestionnaire pour déclencher des actions dans votre code lorsqu’un objet NetStream est passé d’un flux continu à un autre dans une liste de lecture (ce qu’indique l’objet d’informations NetStream.Play.Switch) ou lorsque l’objet NetStream a terminé la lecture du flux continu (ce qu’indique l’objet d’informations NetStream.Play.Complete). Pour répondre à cet événement, vous devez créer une fonction pour traiter l'objet d'informations envoyé par le serveur.

Cet événement est conçu pour une utilisation avec Flash Media Server. Pour en savoir plus, consultez la description de la classe. Il ne fait pas partie de l’API Flash Player, mais est inclus dans ce guide de référence du langage pour votre convenance. Vous ne pouvez pas utiliser la méthode addEventListener() ni toute autre méthode EventDispatcher pour écouter ou traiter cet événement. Vous devez en revanche définir une fonction de rappel unique et l’associer directement à l'un des objets suivants :

Cet événement peut renvoyer un objet d’informations doté des propriétés suivantes :

Propriété du codePropriété de niveauSignification
NetStream.Play.Switch"status"L’abonné passe d’un flux continu à un autre dans une liste de lecture.
NetStream.Play.Complete"status"La lecture est terminée.

Voir aussi

Exemples Utilisation des exemples
NetConnectionExample.as

L'exemple suivant utilise un objet Video avec les classes NetConnection et NetStream pour charger et lire un fichier FLV. Pour exécuter cet exemple, vous avez besoin d'un fichier FLV dont le nom et l'emplacement correspondent avec la variable transmise à videoURL ; dans ce cas, un fichier FLV appelé Video.flv et stocké dans le même répertoire que le fichier SWF.

Dans cet exemple, le code qui crée les objets Video et NetStream et appelle les méthodes Video.attachNetStream() et NetStream.play() est placé dans une fonction de gestionnaire. Le gestionnaire n'est appelé que si la tentative de connexion à l'objet NetConnection a réussi ; c'est-à-dire lorsque l'événement netStatus renvoie un objet info avec une propriété code qui indique la réussite de l'opération. Il est recommandé d’attendre l’établissement d’une connexion avant d'appeler la méthode 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 = "Video.flv";
        private var connection:NetConnection;
        private var stream:NetStream;

        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 {
            stream = new NetStream(connection);
            stream.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
            stream.client = new CustomClient();
            var video:Video = new Video();
            video.attachNetStream(stream);
            stream.play(videoURL);
            addChild(video);
        }
    }
}

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);
    }
}




 

M'envoyer un message électronique lorsque des commentaires sont ajoutés à cette page | Rapport de commentaire

Page en cours: http://livedocs.adobe.com/flash/9.0_fr/ActionScriptLangRefV3/flash/net/NetStream.html