| Package | flash.net |
| Classe | public class NetStream |
| Héritage | NetStream EventDispatcher Object |
| Version du langage : | ActionScript 3.0 |
| Version du lecteur : | Flash Player 9 |
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 :
NetConnection.connect() pour connecter l'occurrence de l'application au serveur.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.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).
Voir aussi
| 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 | ||
![]() | constructor : 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 | ||
![]() | prototype : 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éthode | Défini par | ||
|---|---|---|---|
|
NetStream(connection:NetConnection)
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 | ||
![]() |
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 | ||
|
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 | ||
![]() |
Distribue un événement dans le flux d’événements.
| EventDispatcher | |
![]() |
Vérifie si des écouteurs sont enregistrés auprès de l'objet EventDispatcher pour un type spécifique d’événement.
| EventDispatcher | |
![]() |
Indique si la propriété spécifiée d'un objet est définie.
| Object | |
![]() |
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 | ||
|
Commence la lecture des fichiers vidéo.
| NetStream | ||
![]() |
Indique si la propriété spécifiée existe et est énumérable.
| Object | |
|
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 | ||
|
Indique si les données vidéo entrantes sont lues dans le flux continu.
| NetStream | ||
![]() |
Supprime un écouteur de l’objet EventDispatcher.
| EventDispatcher | |
|
Reprend la lecture d'un flux vidéo en pause.
| NetStream | ||
|
Recherche l'image-clé (également appelée Image-I dans l'industrie vidéo) la plus proche de l'emplacement spécifié.
| NetStream | ||
|
Envoie un message sur le flux publié à tous les clients abonnés.
| NetStream | ||
![]() |
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 | ||
![]() |
Renvoie la représentation sous forme de chaîne de l'objet spécifié.
| Object | |
![]() |
Renvoie la valeur primitive de l'objet spécifié.
| Object | |
![]() |
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énement | Synthèse | Défini par | ||
|---|---|---|---|---|
![]() | 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 | |||
![]() | 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 | |||
| bufferLength | proprié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.
public function get bufferLength():Number
Voir aussi
| bufferTime | proprié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.
public function get bufferTime():Number
public function set bufferTime(value:Number):void
Voir aussi
| bytesLoaded | proprié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.
public function get bytesLoaded():uint
Voir aussi
| bytesTotal | proprié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.
public function get bytesTotal():uint
Voir aussi
| checkPolicyFile | proprié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é :
Security.loadPolicyFile().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.
public function get checkPolicyFile():Boolean
public function set checkPolicyFile(value:Boolean):void
Voir aussi
| client | proprié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.
public function get client():Object
public function set client(value:Object):void
TypeError — La propriété client ne peut pas être réglée sur l’objet null.
|
| currentFPS | proprié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.
public function get currentFPS():Number
| liveDelay | proprié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.
public function get liveDelay():Number
| objectEncoding | proprié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.
public function get objectEncoding():uint
Voir aussi
| soundTransform | proprié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.
public function get soundTransform():SoundTransform
public function set soundTransform(value:SoundTransform):void
Voir aussi
| time | proprié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é.
public function get time():Number
Voir aussi
| 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ètresconnection:NetConnection — Objet NetConnection.
|
ArgumentError — L’occurrence de NetConnection n’est pas connectée.
|
Voir aussi
| 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 :
NetStream.attachCamera(myCamera, 500) à 100 reprises, toutes les 5 minutes. L’enregistrement prend 500 minutes, mais le fichier résultant est lu en 50 secondes (100 images, 500 millisecondes entre elles).Camera.setMode() en réglant fps sur 1/300 (une image toutes les 300 secondes, autrement dit, toutes les 5 minutes), puis une commande NetStream.attachCamera(source), en laissant la caméra capturer des images en continu pendant 500 minutes. Il faudra 500 minutes pour lire le fichier produit ; en d’autres termes autant que pour l’enregistrer, chaque image étant affichée pendant 5 minutes.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é.
|
| 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 :
close() est appelée depuis un flux de publication, le flux arrête la publication et l'éditeur peut alors utiliser ce flux dans un autre but. Les abonnés ne reçoivent plus aucun élément publié sur ce flux, car ce dernier a arrêté la publication.
close() est appelée depuis un flux d'abonnement, le flux arrête la lecture pour l'abonné et ce dernier peut utiliser ce flux dans un autre but. Les autres abonnés ne sont pas affectés.
flash.net.NetStream.play(false).
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 :
Netstream.checkPolicyFile.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
Avec Flash Media Server,
|
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
ns.play("record1", 0, 100, true);
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.
|
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.
|
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
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);
}
}
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. 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);
}
// 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é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
| asyncError | Evénement |
flash.events.AsyncErrorEvent
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 constanteAsyncErrorEvent.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 |
|---|---|
bubbles | false |
cancelable | false ; il n’existe aucun comportement par défaut à annuler. |
currentTarget | L’objet qui traite activement l’objet Event avec un écouteur d’événements. |
target | Objet qui subit l'échec de l'opération réseau. |
error | Erreur qui a déclenché l’événement. |
Voir aussi
| ioError | Evénement |
flash.events.IOErrorEvent
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 |
|---|---|
bubbles | false |
cancelable | false ; il n’existe aucun comportement par défaut à annuler. |
currentTarget | L’objet qui traite activement l’objet Event avec un écouteur d’événements. |
target | Objet réseau sur lequel l’erreur d’entrée/sortie s’est produite. |
text | Texte à afficher en tant que message d’erreur. |
| netStatus | Evénement |
flash.events.NetStatusEvent
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.
type d'un objet événement netStatus.
Les propriétés de cet événement sont les suivantes :
| Propriété | Valeur |
|---|---|
bubbles | false |
cancelable | false ; il n’existe aucun comportement par défaut à annuler. |
currentTarget | L’objet qui traite activement l’objet Event avec un écouteur d’événements. |
info | Objet associé à des propriétés décrivant son état ou indiquant une erreur. |
target | Objet 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 :
client d’une occurrence de NetStream.Il est possible d’imbriquer les types de point de repère suivants dans un fichier vidéo :
time du point de repère. Les points de repère de navigation sont souvent utilisés comme signets ou points d’entrée pour permettre aux utilisateurs de parcourir le fichier vidéo.L'objet événement onCuePoint possède les propriétés suivantes :
| Propriété | Description |
|---|---|
name | Nom attribué au point de repère lors de son imbrication dans le fichier vidéo. |
paramètres | Tableau 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. |
time | Durée (en secondes) jusqu'au point de repère qui survient dans le fichier vidéo au cours de la lecture. |
type | Type 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 :
client d’une occurrence de NetStream.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 :
client d’une occurrence de NetStream.Cet événement peut renvoyer un objet d’informations doté des propriétés suivantes :
| Propriété du code | Propriété de niveau | Signification |
|---|---|---|
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
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