| Package | flash.net |
| Classe | public class NetStream |
| Héritage | NetStream EventDispatcher Object |
| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 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 fichier SWF : amélioration des performances et de la gestion de la mémoire, indépendance par rapport aux cadences vidéo et SWF, etc.
Adobe AIR, ainsi que Flash Player 9.0.115.0 et versions ultérieures prennent en charge les fichiers dérivés du format conteneur MPEG-4 standard, notamment F4V, MP4, M4A, MOV, MP4V, 3GP et 3G2, si ceux-ci contiennent des données vidéo H.264 et/ou des données audio codées HEAAC v2. H.264 produit une qualité vidéo supérieure à un débit inférieur par rapport au même profil d'encodage dans Sorenson ou On2. HE-AAC v2 est une extension de AAC (format audio standard défini dans la norme vidéo MPEG-4) qui utilise les techniques Spectral Band Replication (SBR) et Parametric Stereo (PS) pour un codage plus efficace à des débits lents. Pour plus d'informations sur les codecs et les formats de fichier pris en charge, consultez la page http://www.adobe.com/go/hardware_scaling_fr, ainsi que 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 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().
Réception de données à partir d'un flux Flash Media Server, d'un fichier F4V progressif ou d'un fichier FLV progressif : les fichiers F4V, FLV et Flash Media Server peuvent envoyer des objets événement contenant des données à des points de données spécifiques pendant la diffusion ou la lecture. Vous pouvez gérer les données d'un flux ou d'un fichier FLV pendant la lecture de deux manières :
NetStream.client pour affecter un objet appelant des fonctions de gestion de données spécifiques. L'objet affecté à la propriété NetStream.client peut écouter les points de données suivants : onCuePoint(), onImageData(), onMetaData(), onPlayStatus(), onTextData() et onXMPData(). Ecrivez ensuite des procédures au sein de ces fonctions pour gérer l'objet de données renvoyé par le flux ou le fichier FLV pendant la lecture. Pour plus d'informations, consultez la propriété NetStream.client.
Remarque : pour envoyer des données par l'intermédiaire d'un fichier audio, tel qu'un fichier MP3, utilisez la classe Sound pour associer le fichier audio à un objet Sound. Ensuite, utilisez la propriété Sound.id3 pour lire les métadonnées dans le fichier audio.
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 l'application. | NetStream | ||
| bytesTotal : uint [lecture seule] Taille totale, en octets, du fichier chargé dans l'application. | NetStream | ||
| checkPolicyFile : Boolean Spécifie si l'application 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 les méthodes de rappel sont invoquées pour traiter la diffusion ou les données des fichiers FLV. | 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 | ||
| farID : String [lecture seule] Identifiant de l'extrémité connectée à cette occurrence de NetStream. | NetStream | ||
| farNonce : String [lecture seule] Valeur choisie réellement par l'autre extrémité de ce flux, unique pour cette connexion. | NetStream | ||
| info : NetStreamInfo [lecture seule] Renvoie un objet NetStreamInfo dont les propriétés contiennent des statistiques sur la qualité de service. | 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 | ||
| maxPauseBufferTime : Number Spécifie la durée de la mise en tampon des messages pendant le mode pause, en secondes. | NetStream | ||
| nearNonce : String [lecture seule] Valeur choisie réellement par cette extrémité du flux, unique pour cette connexion. | NetStream | ||
| objectEncoding : uint [lecture seule] Encodage d'objet (version AMF) de cet objet NetStream. | NetStream | ||
| peerStreams : Array [lecture seule] Objet qui détient toutes les occurrences NetStream d'abonnement qui écoutent cette occurrence de NetStream de publication. | NetStream | ||
![]() | prototype : Object [statique] 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 | ||
|---|---|---|---|
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 | |
Invoqué lorsqu'un flux d'homologue éditeur correspond à un flux d'homologue abonné. | NetStream | ||
Interrompt la lecture d'un flux vidéo. | NetStream | ||
Lit les fichiers multimédias. | NetStream | ||
Commence la lecture des fichiers multimédia, avec plusieurs options de lecture. | NetStream | ||
Extrait les métadonnées DRM d'un fichier multimédia enregistré localement. | 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 | ||
Indique la cadence d'images des données vidéo entrantes. | NetStream | ||
![]() | Supprime un écouteur de l'objet EventDispatcher. | EventDispatcher | |
[statique] Supprime toutes les données du voucher de gestion de droits numériques (DRM) mises en cache localement. | NetStream | ||
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 les informations d'authentification de la gestion des droits numériques nécessaires à l'affichage du contenu chiffré sous-jacent. | 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 | ||
|---|---|---|---|---|
![]() | [Evénement de diffusion] Distribué lorsque l'application Flash Player obtient le focus du système d'exploitation et devient active. | EventDispatcher | ||
| Distribué lorsqu'une erreur est renvoyée de manière asynchrone ; autrement dit, lorsqu'elle provient de code asynchrone natif. | NetStream | |||
![]() | [Evénement de diffusion] Distribué lorsque l'application Flash Player ou AIR perd le focus du système d'exploitation et devient inactive. | EventDispatcher | ||
| Distribué lorsqu'un objet NetStream tente de lire un fichier chiffré à l'aide de la gestion des droits numériques (DRM) nécessitant l'obtention d'informations d'identification pour authentifier l'utilisateur avant la lecture. | NetStream | |||
| Distribué lorsqu'un objet NetStream qui tente de lire un fichier chiffré à l'aide de la gestion des droits numériques (DRM) rencontre une erreur de type DRM. | NetStream | |||
| Distribué lorsque la lecture du contenu chiffré à l'aide de la gestion des droits numériques (DRM) commence, c'est-à-dire lorsque l'utilisateur est authentifié et autorisé à lire le contenu. | NetStream | |||
| 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 | |||
| Etablit un écouteur pour qu'il réponde lorsqu'un point de repère intégré est atteint pendant la lecture d'un fichier vidéo. | NetStream | |||
| Etablit un écouteur pour répondre lorsque AIR extrait les métadonnées de contenu DRM intégrées dans un fichier multimédia. | NetStream | |||
| Etablit un écouteur pour qu'il réponde lorsque Flash Player reçoit des données d'images sous forme de tableau d'octets intégré dans un fichier multimédia en cours de lecture. | NetStream | |||
| Etablit un écouteur pour qu'il réponde lorsque Flash Player reçoit une description intégrée à la vidéo en cours de lecture. | NetStream | |||
| Etablit un écouteur pour qu'il réponde lorsque un objet NetStream a terminé la lecture d'un flux. | NetStream | |||
| Etablit un écouteur pour qu'il réponde lorsque Flash Player reçoit des données texte intégrées dans un fichier multimédia en cours de lecture. | NetStream | |||
| Définit un écouteur pour qu'il réponde lorsque Flash Player reçoit des informations spécifiques à XMP (Extensible Metadata Platform) d'Adobe, intégrées à la vidéo lue. | NetStream | |||
| Distribué lorsque l'application tente de lire un fichier chiffré à l'aide de la gestion des droits numériques (DRM) en appelant la méthode NetStream.play(). | NetStream | |||
| Constante | Défini par | ||
|---|---|---|---|
| CONNECT_TO_FMS : String = "connectToFMS" [statique] Objet statique utilisé comme paramètre pour le constructeur d'une occurrence de NetStream. | NetStream | ||
| DIRECT_CONNECTIONS : String = "directConnections" [statique] Crée une connexion d'éditeur homologue à homologue. | NetStream | ||
| bufferLength | propriété |
bufferLength:Number [lecture seule] | Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 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():NumberVoir aussi
| bufferTime | propriété |
bufferTime:Number [lecture-écriture] | Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 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 ne soit pas interrompue pendant les 15 premières secondes, définissez bufferTime sur 15. L'application ne commence la lecture du flux continu que 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, l'application 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.
Depuis Flash Player 9.0.115.0, le lecteur n'efface plus la mémoire tampon lors de l'appel de NetStream.pause(). Avant Flash Player 9.0.115.0, le lecteur attendait le remplissage du tampon avant de reprendre la lecture, ce qui entraînait souvent des retards.
En cas d'interruption unique, la propriété NetStream.bufferLength possède une limite de 60 secondes ou de deux fois la valeur de NetStream.bufferTime (la limite supérieure est prise en compte). Par exemple, si la propriété bufferTime est de 20 secondes, Flash Player effectue la mise en mémoire tampon jusqu'à ce que la propriété NetStream.bufferLength corresponde à la valeur la plus élevée de 20*2 (c'est-à-dire 40), ou à la valeur 60 ; dans ce cas, Flash Player effectue la mise en mémoire tampon jusqu'à ce que la valeur de bufferLength corresponde à 60. Si la propriété bufferTime est de 40 secondes, Flash Player effectue la mise en mémoire tampon jusqu'à ce que la propriété bufferLength corresponde à la valeur la plus élevée de 40*2 (c'est-à-dire 80), ou à la valeur 60 ; dans ce cas, Flash Player effectue la mise en mémoire tampon jusqu'à ce que la valeur de bufferLength corresponde à 80.
La propriété bufferLength possède en outre une limite absolue. Si un appel à pause() provoque l'augmentation de bufferLength de plus de 600 secondes, ou la valeur de plus élevée de bufferTime * 2, Flash Player efface le contenu de la mémoire tampon et remet à zéro bufferLength. Par exemple, si la propriété bufferTime est de 120 secondes, Flash Player efface le contenu de la mémoire tampon si la propriété bufferLength atteint 600 secondes ; si bufferTime est de 360 secondes, Flash Player efface le contenu de la mémoire tampon si bufferLength atteint 720 secondes.
Conseil : vous pouvez utiliser NetStream.pause() dans le code pour mettre les données en mémoire tampon pendant que les spectateurs regardent une annonce publicitaire, par exemple, puis annuler l'interruption lorsque la vidéo principale démarre.
Pour plus d'informations sur le nouveau comportement d'interruption, consultez la page http://www.adobe.com/go/learn_fms_smartpause_fr.
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 l'application 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 l'application peut les mettre en mémoire tampon. Dans le cas d'une connexion bas débit, toutefois, il peut exister une différence considérable entre la vitesse à laquelle l'application place les données en mémoire tampon et celle à laquelle il peut les envoyer au client.
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):voidVoir aussi
| bytesLoaded | propriété |
bytesLoaded:uint [lecture seule] | Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Nombre d'octets de données ayant été chargés dans l'application. 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():uintVoir aussi
| bytesTotal | propriété |
bytesTotal:uint [lecture seule] | Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Taille totale, en octets, du fichier chargé dans l'application.
public function get bytesTotal():uintVoir aussi
| checkPolicyFile | propriété |
checkPolicyFile:Boolean [lecture-écriture] | Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Spécifie si l'application 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 des données vidéo (fichiers autonomes) ou lorsque vous chargez des fichiers se trouvant en dehors du domaine du fichier appelant. Cette propriété n'est pas prise en compte lorsque vous utilisez un objet NetStream pour obtenir une ressource RTMP.
Définissez 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 définir 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 définir 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 la méthode NetStream.play() en définissant checkPolicyFile sur true, Flash Player ou le moteur d'exécution AIR 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 ou le moteur d'exécution AIR effectue les actions suivantes, dans l’ordre indiqué :
Security.loadPolicyFile().
NetStream.play(), à savoir /crossdomain.xml sur le même serveur que cette URL.
Dans tous les cas, Flash Player ou le moteur d'exécution AIR 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 de code appelant à accéder au fichier vidéo par le biais d’une ou plusieurs balises <allow-access-from>.
Si vous définissez checkPolicyFile sur true, l'application 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 définissez 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 l'application 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. L'application 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 avec ActionScript 3.0.
public function get checkPolicyFile():Boolean public function set checkPolicyFile(value:Boolean):voidVoir aussi
| client | propriété |
client:Object [lecture-écriture] | Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Spécifie l'objet sur lequel les méthodes de rappel sont invoquées pour traiter la diffusion ou les données des fichiers FLV. 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 rappel sont appelées sur celui-ci. L'objet NetStream.client peut appeler les fonctions suivantes et recevoir un objet de données associé : onCuePoint(), onImageData(), onMetaData(), onPlayStatus(), onTextData() et onXMPData().
Pour associer la propriété client à un gestionnaire d'événement :
client de l'objet NetStream :
var customClient:Object = new Object();
my_netstream.client = customClient;customClient.onImageData = onImageDataHandler;
public function onImageDataHandler(imageData:Object):void {
trace("imageData length: " + imageData.data.length);
}
Lorsque les données sont transmises via le flux ou au cours de la lecture, l'objet événement de données (dans ce cas l'objet imageData) est renseigné avec les données. Reportez-vous à la description de onImageData, qui inclut un exemple complet d'objet affecté à la propriété client.
Pour associer la propriété client à une sous-classe :
class CustomClient {
public function onMetaData(info:Object):void {
trace("metadata: duration=" + info.duration + " framerate=" + info.framerate);
}client de l'objet NetStream :
my_netstream.client = new CustomClient();
Lorsque les données sont transmises via le flux ou au cours de la lecture, l'objet événement de données (dans ce cas l'objet info) est renseigné avec les données. Reportez-vous à l'exemple de classe proposé à la fin de la classe NetStream, qui illustre l'affectation d'une occurrence de sous-classe à la propriété client.
public function get client():Object public function set client(value:Object):voidTypeError —
La propriété client doit être définie sur un objet non null.
|
Voir aussi
| currentFPS | propriété |
currentFPS:Number [lecture seule] | Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 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| farID | propriété |
farID:String [lecture seule] | Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | Flash Player 10, AIR 1.5 |
Identifiant de l'extrémité connectée à cette occurrence de NetStream. Cette propriété n'est définie que pour les connexions RTMFP.
public function get farID():String| farNonce | propriété |
farNonce:String [lecture seule] | Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | Flash Player 10, AIR 1.5 |
Valeur choisie réellement par l'autre extrémité de ce flux, unique pour cette connexion. Cette valeur apparaît à l'autre extrémité du flux en tant que valeur nearNonce. Cette propriété n'est définie que pour les connexions RTMFP.
public function get farNonce():String| info | propriété |
info:NetStreamInfo [lecture seule] | Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | Flash Player 10, AIR 1.5 |
Renvoie un objet NetStreamInfo dont les propriétés contiennent des statistiques sur la qualité de service. L'objet est un instantané de l'état en cours.
public function get info():NetStreamInfoVoir aussi
| liveDelay | propriété |
liveDelay:Number [lecture seule] | Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 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| maxPauseBufferTime | propriété |
maxPauseBufferTime:Number [lecture-écriture]
Spécifie la durée de la mise en tampon des messages pendant le mode pause, en secondes. Cette propriété peut être utilisée pour limiter le volume de mise en mémoire tampon pendant le mode pause. Dès que la valeur NetStream.bufferLength atteint cette limite, la mise en mémoire tampon s'arrête. Si cette valeur n'est pas définie, la limite par défaut est de 60 secondes ou correspond à deux fois la valeur de NetStream.bufferTime sur chaque pause (la valeur la plus élevée est prise en compte).
public function get maxPauseBufferTime():Number public function set maxPauseBufferTime(value:Number):voidVoir aussi
| nearNonce | propriété |
nearNonce:String [lecture seule] | Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | Flash Player 10, AIR 1.5 |
Valeur choisie réellement par cette extrémité du flux, unique pour cette connexion. Cette valeur apparaît à l'autre extrémité du flux en tant que valeur farNonce. Cette propriété n'est définie que pour les connexions RTMFP.
public function get nearNonce():String| objectEncoding | propriété |
objectEncoding:uint [lecture seule] | Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 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é ou si vous tentez de la modifier, l'application renvoie une exception.
public function get objectEncoding():uintVoir aussi
| peerStreams | propriété |
peerStreams:Array [lecture seule] | Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | Flash Player 10, AIR 1.5 |
Objet qui détient toutes les occurrences NetStream d'abonnement qui écoutent cette occurrence de NetStream de publication.
public function get peerStreams():Array| soundTransform | propriété |
soundTransform:SoundTransform [lecture-écriture] | Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 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):voidVoir aussi
| time | propriété |
time:Number [lecture seule] | Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 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, la valeur de la propriété time cesse d'avancer. Lorsque le serveur recommence à envoyer des données, la valeur continue d'avancer là où elle s'est arrêtée (c'est-à-dire lorsque le serveur a cessé l'envoi des données).
La valeur de la propriété time continue d'avancer 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():NumberVoir aussi
| NetStream | () | Constructeur |
public function NetStream(connection:NetConnection, peerID:String = "connectToFMS")| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 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 fichier pris en charge, consultez la page http://www.adobe.com/go/hardware_scaling_fr, ainsi que la documentation de Flash Media Server.
Paramètresconnection:NetConnection — Objet NetConnection. | |
peerID:String (default = "connectToFMS") —
Ce paramètre est facultatif. Définissez la valeur sur NetStream.CONNECT_TO_FMS pour une connexion à FMS. Pour publier directement sur des homologues (P2P), spécifiez NetStream.DIRECT_CONNECTIONS. Pour lancer directement la lecture depuis un homologue donné, spécifiez l'identité de ce dernier (voir NetConnection.nearID et NetConnection.farID ). La valeur de la propriété NetConnection.protocol doit être "rtmfp" si le paramètre peerID est défini sur un homologue. Le paramètre peerID est ignoré pour les connexions non RTMFP. ActionScript utilise la valeur par défaut "connectToFMS" du paramètre peerID pour capturer le moment où une valeur nulle est transmise en tant que paramètre à la méthode NetStream(), par programmation.
Toutefois, le paramètre new NetStream(nc:NetConnection); |
ArgumentError — L'occurrence de NetConnection n'est pas connectée. |
Voir aussi
videoURL :
var my_nc:NetConnection = new NetConnection();
my_nc.connect(null);
var my_ns:NetStream = new NetStream(my_nc);
my_ns.play(videoURL);
var my_video:Video = new Video();
my_video.attachNetStream(my_ns);
addChild(my_video);videoURL) sur une occurrence de Flash Media Server distante spécifiée dans la commande connect() :
var my_nc:NetConnection = new NetConnection();
my_nc.connect("rtmp://www.yourfmsserver.com/someappname");
var my_ns:NetStream = new NetStream(my_nc, NetStream.CONNECT_TO_FMS);
my_ns.play(videoURL);
var my_video:Video = new Video();
my_video.attachNetStream(my_ns);
addChild(my_video);| attachAudio | () | méthode |
public function attachAudio(microphone:Microphone):void| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 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(). Réglez la propriété rate du microphone afin qu'elle corresponde à celle du périphérique de capture audio, puis définissez le seuil de silence via la méthode setSilenceLevel(). Vous pouvez contrôler les propriétés audio (volume et balance) de ce flux audio audio via la propriété soundTransform de l'objet du microphone.
var conn:NetConnection = new NetConnection();
conn.connect("rtmp://server.domain.com/path");
var stream:NetStream = new NetStream(conn);
var live_mic:Microphone = Microphone.get();
live_mic.rate = 8;
live_mic.setSilenceLevel(20,200);
var soundTrans:SoundTransform = new SoundTransform();
soundTrans.volume = 6;
live_mic.soundTransform = soundTrans;
stream.attachAudio(live_mic);
stream.publish("mic_stream","live")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 |
| Versions du moteur d'exécution: | AIR 1.0 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 (avec 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 la valeur null, l'application interrompt 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 |
| Versions du moteur d'exécution: | AIR 1.0 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 l'application supprime la copie locale du fichier qu'il crée, une copie peut subsister dans le répertoire cache. 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
| onPeerConnect | () | méthode |
public function onPeerConnect(subscriber:NetStream):Boolean| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | Flash Player 10, AIR 1.5 |
Invoqué lorsqu'un flux d'homologue éditeur correspond à un flux d'homologue abonné. Avant que l'abonné ne soit connecté à l'éditeur, appelez cette méthode pour permettre au code ActionScript de contrôler l'accès en vue d'une publication homologue à homologue. Le code suivant montre un exemple de création d'une fonction de rappel pour cette méthode :
var c:Object = new Object;
c.onPeerConnect = function(subscriber:NetStream):Boolean {
if (accept)
return true;
else
return false;
};
m_netStream.client = c;Si l'éditeur homologue n'implémente pas cette méthode, tous les homologues sont autorisés à lire tout contenu publié.
Paramètres
subscriber:NetStream |
Boolean |
| pause | () | méthode |
public function pause():void| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 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().
Depuis Flash Player 9.0.115.0, le lecteur n'efface plus la mémoire tampon lors de l'appel de NetStream.pause(). Avant Flash Player 9.0.115.0, le lecteur attendait le remplissage du tampon avant de reprendre la lecture, ce qui entraînait souvent des retards.
En cas d'interruption unique, la propriété NetStream.bufferLength possède une limite de 60 secondes ou de deux fois la valeur de NetStream.bufferTime (la limite supérieure est prise en compte). Par exemple, si la propriété bufferTime est de 20 secondes, Flash Player effectue la mise en mémoire tampon jusqu'à ce que la propriété NetStream.bufferLength corresponde à la valeur la plus élevée de 20*2 (c'est-à-dire 40), ou à la valeur 60 ; dans ce cas, Flash Player effectue la mise en mémoire tampon jusqu'à ce que la valeur de bufferLength corresponde à 60. Si la propriété bufferTime est de 40 secondes, Flash Player effectue la mise en mémoire tampon jusqu'à ce que la propriété bufferLength corresponde à la valeur la plus élevée de 40*2 (c'est-à-dire 80), ou à la valeur 60 ; dans ce cas, Flash Player effectue la mise en mémoire tampon jusqu'à ce que la valeur de bufferLength corresponde à 80.
La propriété bufferLength possède en outre une limite absolue. Si un appel à pause() provoque l'augmentation de bufferLength de plus de 600 secondes, ou la valeur de plus élevée de bufferTime * 2, Flash Player efface le contenu de la mémoire tampon et remet à zéro bufferLength. Par exemple, si la propriété bufferTime est de 120 secondes, Flash Player efface le contenu de la mémoire tampon si la propriété bufferLength atteint 600 secondes ; si bufferTime est de 360 secondes, Flash Player efface le contenu de la mémoire tampon si bufferLength atteint 720 secondes.
Conseil : vous pouvez utiliser NetStream.pause() dans le code pour mettre les données en mémoire tampon pendant que les spectateurs regardent une annonce publicitaire, par exemple, puis annuler l'interruption lorsque la vidéo principale démarre.
Voir aussi
| play | () | méthode |
public function play(... arguments):void| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Lit les fichiers multimédias.
Pour plus d'informations sur les codecs et les formats de fichier pris en charge, consultez la page http://www.adobe.com/go/hardware_scaling_fr, ainsi que la documentation de Flash Media Server.
Pour visualiser les données vidéo, créez un objet Video et appelez la méthode Video.attachNetStream(). Pour diffuser des données audio en continu à partir d'un microphone, utilisez la méthode NetStream.attachAudio(). Utilisez l'objet Microphone pour contrôler certains aspects du son.
Appelez la méthode DisplayObjectContainer.addChild() pour ajouter le son à 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, il existe certaines contraintes de sécurité. Un fichier , 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 d'URL. Vous pouvez en outre empêcher un fichier SWF s'exécutant dans Flash Player d'utiliser cette méthode ; pour cela, vous devez définir le paramètre allowNetworking des balises object et embed dans la page HTML qui comporte le contenu SWF.
Vous ne pouvez pas vous connecter aux ports généralement réservés. Vous trouverez la liste complète des ports bloqués dans la section « Restriction des API de réseau » du chapitre sur la sécurité du manuel Programmation ActionScript 3.0.
Vous ne pouvez pas vous connecter aux ports généralement réservés. Vous trouverez la liste complète des ports bloqués dans la section « Restriction des API de réseau » du chapitre sur la sécurité du manuel Programmation ActionScript 3.0.
Pour plus d'informations sur la sécurité, consultez les références suivantes :
Netstream.checkPolicyFile.
Paramètres
... arguments —
Emplacement du fichier multimédia à lire en tant que chaîne, propriété URLRequest.url ou variable référençant l'un ou l'autre. Dans Flash Player et dans le contenu AIR hors du sandbox de sécurité de l'application, 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.
Avec Flash Media Server,
Vous pouvez lire les formats de fichier décrits dans le tableau suivant. La syntaxe varie selon le format de fichier.
|
status: — Distribué lors d'une tentative de lecture d'un fichier chiffré à l'aide de la gestion des droits numériques (DRM). La valeur de la propriété code est "DRM.encryptedFLV". |
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("mp4:record1.f4v", 0, 100, true);ns.play("stephen");| play2 | () | méthode |
public function play2(param:NetStreamPlayOptions):void| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | Flash Player 10, AIR 1.5 |
Commence la lecture des fichiers multimédia, avec plusieurs options de lecture.
Cette méthode est une version améliorée de NetStream.play(). Comme la méthode play(), la méthode play2() commence la lecture d'un fichier multimédia ou met des fichiers multimédia en file d'attente pour créer une liste de lecture. Lorsqu'elle est utilisée avec Flash Media Server, elle peut également demander au serveur de basculer vers un autre fichier multimédia. La transition est transparente dans l'application client.
Utilisez la méthode play2() pour basculer vers un flux de même contenu chiffré avec des débits différents ou pour changer de flux à partir d'une liste de lecture. Utilisez la classe NetStreamInfo pour gérer les conditions du réseau et changer de flux en fonction des données. Vous pouvez également changer de flux pour des clients ayant des capacités différentes. On appelle diffusion dynamique en continu l'utilisation d'ActionScript pour changer de flux. Pour plus d'informations, recherchez « diffusion dynamique en continu » dans le « Guide du développeur d'Adobe Flash Media Server » à l'adresse www.adobe.com/go/learn_fms_devguide_fr. Adobe a conçu une classe ActionScript personnalisée appelée DynamicStream qui étend la classe NetStream. Vous pouvez utiliser la classe DynamicStream pour implémenter la diffusion dynamique en continu dans une application au lieu d'écrire votre propre code afin de détecter les conditions du réseau. Même si vous choisissez d'écrire votre propre code de diffusion dynamique en continu, consultez la classe DynamicStream pour obtenir un exemple d'implémentation. Téléchargez la classe et la documentation correspondante à l'adresse suivante : www.adobe.com/go/fms_dynamicstreaming_fr.
Paramètres
param:NetStreamPlayOptions |
Voir aussi
| () | méthode |
public function preloadEmbeddedData(param:NetStreamPlayOptions):void| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.5 |
Extrait les métadonnées DRM d'un fichier multimédia enregistré localement.
Utilisez tout d'abord preloadEmbeddedMetaData() lors du téléchargement et de la mise en mémoire cache des vouchers DRM nécessaires à la lecture hors ligne. Lorsque des métadonnées DRM intégrées sont détectées dans un fichier multimédia, un objet DRMContentData est transmis à la fonction onDRMContentData du client NetStream. Cet objet DRMContentData contient les informations nécessaires à l'obtention du voucher requis pour lire le contenu. Transmettez DRMContentDataObject à la méthode DRMManager loadVoucher() pour télécharger le voucher.
Les étapes pour précharger un voucher DRM sont les suivantes :
Créez un nouvel objet NetStream pour précharger les métadonnées.
onDRMContentData du client NetStream.
streamName sur la chaîne URL du fichier vidéo local.
preloadEmbeddedMetadata(), tout en transmettant l'objet NetStreamPlayOptions.
onDRMContentData, appelez la méthode loadVoucher() de DRMManager, tout en transmettant l'objet DRMContentData. Si la propriété authenticationMethod de l'objet DRMContentData est définie sur la valeur userNameAndPassWord, vous devez authentifier l'utilisateur sur le serveur de droits multimédias avant de charger le voucher.
Remarque : si vous utilisez le même objet NetStream pour précharger les métadonnées et lire le contenu, vous devez attendre l'appel de onPlayStatus généré par l'opération de préchargement avant de commencer la lecture.
Les vouchers téléchargés sont stockés dans une mémoire cache locale. La lecture de contenu en ligne permet également de télécharger et de mettre en cache les vouchers. Lors de la visualisation d'un fichier dont le contenu est protégé par DRM, un voucher mis en cache est automatiquement récupéré à partir du magasin local. Utilisez DRMManager pour gérer la mémoire cache du voucher.
Remarques : le préchargement des métadonnées DRM via une connexion HTTP, HTTPS ou RTMP n'est pas pris en charge. Vous ne pouvez précharger des métadonnées qu'à partir de fichiers enregistrés sur le systèmes de fichiers.
Paramètres
param:NetStreamPlayOptions — Un objet NetStreamPlayOptions décrivant les options à utiliser lors du traitement du fichier de contenu. |
Voir aussi
| publish | () | méthode |
public function publish(name:String = null, type:String = null):void| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 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é.
Vous pouvez enregistrer des fichiers au format FLV ou MPEG-4. Si vous enregistrez un fichier au format MPEG-4, vous devez utiliser un outil d'aplatissement pour modifier ou lire le fichier dans une autre application. Pour télécharger cet outil, accédez au site suivant : www.adobe.com/go/learn_fms_flattener_fr.
N'utilisez pas cette méthode pour lire un flux continu ayant déjà été publié et enregistré. Pour lire un flux continu, appelez la méthode NetStream.play().
var subscribeNS:NetStream = new NetStream(myNetConnection);
subscribeNS.play("streamToPlay");
Lorsque Flash Media Server enregistre un flux continu, il crée un fichier et l'enregistre dans un sous-répertoire du répertoire de l'application situé 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 stocké 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(myNC);
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, elle est enregistrée dans le sous-répertoire /votreDossierApp/nomApp/streams/_definst_. 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. Pour arrêter la publication, appelez la méthode NetStream.close(). 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. Les clients qui s'abonnent à ce flux continu doivent transmettre le même nom lorsqu'ils appellent NetStream.play(). N'ajoutez pas une "/" après le nom du flux. Par exemple, n'utilisez pas le nom de flux "bolero/".
Vous pouvez publier des fichiers aux formats décrits dans le tableau suivant. La syntaxe varie selon le format de fichier.
| |||||||||||||
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 |
| Versions du moteur d'exécution: | AIR 1.0 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 et activer le son 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(flag:Boolean):void| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 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
flag:Boolean —
Indique si les données vidéo entrantes de ce flux sont lues (true) ou non (false ). La valeur par défaut est true.
|
| receiveVideoFPS | () | méthode |
public function receiveVideoFPS(FPS:Number):void| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Indique la cadence d'images des données vidéo entrantes. 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. Par exemple, vous pouvez associer ces méthodes à un champ de texte afin que l'utilisateur puisse définir la cadence d'images des données vidéo entrantes.
Pour interrompre la réception des données vidéo, transmettez la valeur 0 au paramètre FPS. Pour déterminer la cadence d'images actuelle, utilisez NetStream.currentFPS.
Si vous transmettez une valeur au paramètre FPS en vue de limiter la cadence d'images de la vidéo, Flash Media Server tente de réduire la cadence tout en préservant l'intégrité de la vidéo. Le serveur envoie le nombre d'images minimum afin de satisfaire la cadence désirée entre deux images-clés. Notez toutefois que les images intermédiaires doivent être envoyées conjointement ; dans le cas contraire, la vidéo risque d'être corrompue. Par conséquent, le nombre d'images souhaité est envoyé immédiatement et conjointement après une image-clé. Etant donné que les images ne sont pas distribuées uniformément, le mouvement entre images uniques est homogène, mais des interruptions apparaissent entre les séquences d'images.
Paramètres
FPS:Number — Indique le nombre d'images par seconde lors de la lecture des données vidéo entrantes. |
| () | méthode |
public static function resetDRMVouchers():void| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 |
Supprime toutes les données du voucher de gestion de droits numériques (DRM) mises en cache localement.
L'application doit à nouveau télécharger les vouchers requis depuis le serveur de droits multimédias afin que l'utilisateur puisse accéder au contenu protégé. Appeler cette fonction équivaut à appeler la fonction resetDRMVouchers() de l'objet DRMManager.
IOError — Les données du voucher ne peuvent pas être supprimées. |
Voir aussi
NetStream.resetDRMVouchers();
| resume | () | méthode |
public function resume():void| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 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 |
| Versions du moteur d'exécution: | AIR 1.0 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 |
| Versions du moteur d'exécution: | AIR 1.0 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 ou AIR 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 AIR 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é que les abonnés puissent comprendre facilement ; consultez la documentation de Flash Media Server pour obtenir une liste des noms de propriété suggérés.
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. Consultez la documentation de Flash Media Server pour obtenir une liste des noms de propriété suggérés. 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);| () | méthode |
public function setDRMAuthenticationCredentials(userName:String, password:String, type:String):void| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 |
Définit les informations d'authentification de la gestion des droits numériques nécessaires à l'affichage du contenu chiffré sous-jacent.
La méthode setDRMAuthenticationCredentials() doit fournir des informations d'identification qui correspondent à celles reconnues et approuvées par le fournisseur de contenu ou le serveur proxy. Ces informations d'identification sont les mêmes que celles dont l'utilisateur a besoin pour obtenir l'autorisation d'afficher le contenu.
Paramètres
userName:String — Nom d'utilisateur valide. | |
password:String — Mot de passe correspond au nom d'utilisateur fournit. | |
type:String —
Chaîne indiquant le type d'informations d'authentification fournit. Les valeurs valides sont « drm » et « proxy ». La valeur par défaut est « drm ».
|
Voir aussi
| togglePause | () | méthode |
public function togglePause():void| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 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.AsyncErrorEventflash.events.AsyncErrorEvent.ASYNC_ERROR| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 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
| L'objet distribuant l'événement. |
error
| Erreur qui a déclenché l'événement. |
Voir aussi
| Evénement |
flash.events.DRMAuthenticateEventflash.events.DRMAuthenticateEvent.DRM_AUTHENTICATE| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 |
Distribué lorsqu'un objet NetStream tente de lire un fichier chiffré à l'aide de la gestion des droits numériques (DRM) nécessitant l'obtention d'informations d'identification pour authentifier l'utilisateur avant la lecture.
Utilisez la méthode setDRMAuthenticationCredentials() de l'objet NetStream pour authentifier l'utilisateur. Si l'authentification de l'utilisateur échoue, l'application relance l'authentification et distribue un nouvel événement DRMAuthenticateEvent pour l'objet NetStream.
DRMAuthenticateEvent.DRM_AUTHENTICATE définit la valeur de la propriété type d'un objet événement DRMAuthenticateEvent.
Les propriétés de cet événement sont les suivantes :
| Propriété | Valeur |
|---|---|
authenticationType
| Indique si les informations d'identification fournies servent à l'authentification par rapport à un serveur FMRMS (Flash Media Rights Management Server - serveur de gestion des droits de Flash Media) ou un serveur proxy. |
bubbles
|
false
|
cancelable
|
false il n'existe aucun comportement par défaut à annuler.
|
en-tête
| L'en-tête du fichier de contenu chiffré fourni par le serveur. |
netStream
| L'objet NetStream qui a initié cet événement. |
passwordPrompt
| Une invite à entrer les informations de mot de passe, fournies par le serveur. |
target
| L'objet NetStream. |
urlPrompt
| Une invite pour une URL à afficher, fournie par le serveur. |
usernamePrompt
| Une invite à entrer les informations de nom d'utilisateur, fournies par le serveur. |
Voir aussi
| Evénement |
flash.events.DRMErrorEventflash.events.DRMErrorEvent.DRM_ERROR| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 |
Distribué lorsqu'un objet NetStream qui tente de lire un fichier chiffré à l'aide de la gestion des droits numériques (DRM) rencontre une erreur de type DRM. Par exemple, un objet DRMErrorEvent est distribué lorsque l'autorisation utilisateur échoue. Il est en effet possible que l'utilisateur n'ait pas acquis les droits nécessaires à l'affichage du contenu ou que le fournisseur de contenu ne prenne pas en charge l'application d'affichage.
La constanteDRMErrorEvent.DRM_ERROR définit la valeur de la propriété type d'un objet événement drmError.
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.
|
errorID
| Un code d'erreur numérique correspondant au problème. |
subErrorID
| Un code d'erreur qui indique des informations détaillées supplémentaires sur le problème sous-jacent. |
target
| L'objet NetStream. |
Voir aussi
| Evénement |
flash.events.DRMStatusEventflash.events.DRMStatusEvent.DRM_STATUS| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 |
Distribué lorsque la lecture du contenu chiffré à l'aide de la gestion des droits numériques (DRM) commence, c'est-à-dire lorsque l'utilisateur est authentifié et autorisé à lire le contenu.
L'objet DRMStatusEvent contient des informations concernant le bon : possibilité d'accéder au contenu hors connexion, date d'expiration du bon ou fin d'affichage du contenu, entre autres.
La constanteDRMStatusEvent.DRM_STATUS définit la valeur de la propriété type d'un objet événement drmStatus.
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.
|
detail
| Une chaîne expliquant le contexte de l'événement status. |
isAnonymous
| Indique si le contenu protégé avec le chiffrement DRM est disponible sans que l'utilisateur doive fournir des informations d'identification d'authentification. |
isAvailableOffline
| Indique si le contenu protégé avec le chiffrement DRM est disponible hors ligne. |
offlineLeasePeriod
| Le nombre de jours qu'il reste pour afficher le contenu hors ligne. |
policies
| Un objet custom de l'événement DRM status. |
target
| L'objet NetStream. |
voucherEndDate
| La date absolue d'expiration du bon à laquelle le contenu ne peut plus être affiché par les utilisateurs |
contentData
| DRMContentData pour le contenu |
voucher
| L'objet DRMVoucher pour le contenu. |
isLocal
| Indique si le contenu est enregistré sur le système de fichiers local |
Voir aussi
| ioError | Evénement |
flash.events.IOErrorEventflash.events.IOErrorEvent.IO_ERROR| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 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. |
errorID
| Un numéro de référence associé à l'erreur spécifique (AIR uniquement). |
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.NetStatusEventflash.events.NetStatusEvent.NET_STATUS| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 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 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Etablit un écouteur pour qu'il réponde lorsqu'un point de repère intégré est atteint pendant la lecture d'un fichier vidéo. Vous pouvez utiliser l'écouteur 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 des fichiers vidéo pris en charge par Flash Media Server, consultez la documentation Flash Media Server.
onCuePoint est en fait une propriété de l'objet NetStream.client. Ce n'est pas un événement, mais il est listé dans la section Events car il répond à un événement de données, soit lorsqu'il diffuse avec Flash Media Server, soit lors de la lecture d'un fichier FLV. Pour plus d'informations, consultez la description de la classe NetStream. Vous ne pouvez pas utiliser la méthode addEventListener(), ni toute autre méthode EventDispatcher pour écouter ou traiter onCuePoint comme un é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'écouteur d'événement associé 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é.
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
| Evénement |
| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.5 |
Etablit un écouteur pour répondre lorsque AIR extrait les métadonnées de contenu DRM intégrées dans un fichier multimédia.
Un objet DRMContentData contient les informations nécessaires à l'obtention du voucher requis pour lire un fichier multimédia protégé par DRM. Utilisez la classe DRMManager pour télécharger le voucher avec ces informations.
onDRMContentData est en fait une propriété de l'objet NetStream.client. Bien qu'elle ne soit pas un événement, elle est répertoriée dans la section Events, car elle correspond à un événement data lors du préchargement des données intégrées depuis un fichier multimédia local. Pour plus d'informations, consultez la description de la classe NetStream. Vous ne pouvez pas utiliser la méthode addEventListener(), ni toute autre méthode EventDispatcher pour écouter ou traiter onDRMContentData comme un é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.
Voir aussi
| onImageData | Evénement |
| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9.0.115.0 |
Etablit un écouteur pour qu'il réponde lorsque Flash Player reçoit des données d'images sous forme de tableau d'octets intégré dans un fichier multimédia en cours de lecture. Les données d'image peuvent produire du contenu JPEG, PNG ou GIF. Utilisez la méthode flash.display.Loader.loadBytes() pour charger le tableau d'octets dans un objet d'affichage.
onImageData est en fait une propriété de l'objet NetStream.client. Ce n'est pas un événement, mais il est listé dans la section Events car il répond à un événement de données, soit lorsqu'il diffuse avec Flash Media Server, soit lors de la lecture d'un fichier FLV. Pour plus d'informations, consultez la description de la classe NetStream. Vous ne pouvez pas utiliser la méthode addEventListener(), ni toute autre méthode EventDispatcher pour écouter ou traiter onImageData comme un é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'écouteur d'événement associé 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é.
L'objet d'événement onImageData contient les données d'images sous la forme d'un tableau d'octets envoyé par l'intermédiaire d'un canal de données AMF0.
Netstream.client pour gérer les fonctions de rappel pour onTextData et onImageData. La fonction onImageDataHandler() utilise l'objet d'événement onImageData imageData pour stocker le tableau d'octets. Et la fonction onTextDataHandler() utilise l'objet d'événement onTextData textData pour stocker les morceaux de données texte (chaque morceau de données est une propriété de l'objet textData).
Vous devez remplacer l'emplacement « yourURL » de votre code par un emplacement réel conduisant vers un fichier multimédia avec métadonnées d'image ou de texte.
Vous pouvez également gérer les données de texte et d'images à l'aide d'une classe personnalisée. Reportez-vous à l'article Gestion des métadonnées et des points de repères dans Flash Video pour plus d'informations et d'exemples.
package {
import flash.display.*;
import flash.net.*;
import flash.media.*;
import flash.system.*;
import flash.events.*;
public class OnTextDataExample extends Sprite {
public function OnTextDataExample():void {
var customClient:Object = new Object();
customClient.onImageData = onImageDataHandler;
customClient.onTextData = onTextDataHandler;
var my_nc:NetConnection = new NetConnection();
my_nc.connect(null);
var my_ns:NetStream = new NetStream(my_nc);
my_ns.play("yourURL");
my_ns.client = customClient;
var my_video:Video = new Video();
my_video.attachNetStream(my_ns);
addChild(my_video);
}
public function onImageDataHandler(imageData:Object):void {
trace("imageData length: " + imageData.data.length);
var imageloader:Loader = new Loader();
imageloader.loadBytes(imageData.data); // imageData.data is a ByteArray object.
addChild(imageloader);
}
public function onTextDataHandler(textData:Object):void {
trace("--- textData properties ----");
var key:String;
for (key in textData) {
trace(key + ": " + textData[key]);
}
}
}
}Voir aussi
| onMetaData | Evénement |
| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Etablit un écouteur pour qu'il réponde lorsque Flash Player reçoit une description intégrée à la vidéo en cours de lecture. Pour plus d'informations sur les formats des fichiers vidéo pris en charge par Flash Media Server, consultez la documentation Flash Media Server.
onMetaData est en fait une propriété de l'objet NetStream.client. Ce n'est pas un événement, mais il est listé dans la section Events car il répond à un événement de données, soit lorsqu'il diffuse avec Flash Media Server, soit lors de la lecture d'un fichier FLV. Pour plus d'informations, consultez la description de la classe NetStream et de la propriété NetStream.client. Vous ne pouvez pas utiliser la méthode addEventListener(), ni toute autre méthode EventDispatcher, pour écouter ou traiter onMetaData comme un é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.
L'écouteur d'événement associé 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.
L'objet événement transmis au gestionnaire d'événement onMetaData contient une propriété pour chaque élément de données.
Voir aussi
| onPlayStatus | Evénement |
| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Etablit un écouteur pour qu'il réponde lorsque un objet NetStream a terminé la lecture d'un flux. L'objet événement associé fournit des informations autres que ce renvoie l'événement netStatus. Vous pouvez utiliser cette propriété 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 ).
onPlayStaus est en fait une propriété de l'objet NetStream.client. Ce n'est pas un événement, mais il est listé dans la section Events car il répond à un événement de données, soit lorsqu'il diffuse avec Flash Media Server, soit lors de la lecture d'un fichier FLV. Pour plus d'informations, consultez la description de la classe NetStream. Vous ne pouvez pas utiliser la méthode addEventListener(), ni toute autre méthode EventDispatcher pour écouter ou traiter onPlayStatus comme un é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. |
NetStream.Play.TransitionComplete
|
"status"
| L'abonné bascule vers un nouveau flux en résultat du basculement du débit du flux. |
Voir aussi
| onTextData | Evénement |
| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9.0.115.0 |
Etablit un écouteur pour qu'il réponde lorsque Flash Player reçoit des données texte intégrées dans un fichier multimédia en cours de lecture. Les données texte sont au format UTF-8 et peuvent contenir des informations sur la mise en forme basées sur la spécification Timed Text 3GP.
onTextData est en fait une propriété de l'objet NetStream.client. Ce n'est pas un événement, mais il est listé dans la section Events car il répond à un événement de données, soit lorsqu'il diffuse avec Flash Media Server, soit lors de la lecture d'un fichier FLV. Pour plus d'informations, consultez la description de la classe NetStream. Vous ne pouvez pas utiliser la méthode addEventListener(), ni toute autre méthode EventDispatcher pour écouter ou traiter onTextData comme un é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'écouteur d'événement associé 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é.
L'objet d'événement onTextData contient une propriété pour chaque partie de données texte.
Netstream.client pour gérer les fonctions de rappel pour onTextData et onImageData. La fonction onImageDataHandler() utilise l'objet d'événement onImageData imageData pour stocker le tableau d'octets. Et la fonction onTextDataHandler() utilise l'objet d'événement onTextData textData pour stocker les morceaux de données texte (chaque morceau de données est une propriété de l'objet textData).
Vous devez remplacer l'emplacement « yourURL » de votre code par un emplacement réel conduisant vers un fichier multimédia avec métadonnées d'image ou de texte.
Vous pouvez également gérer les données de texte et d'images à l'aide d'une classe personnalisée. Reportez-vous à l'article Gestion des métadonnées et des points de repères dans Flash Video pour plus d'informations et d'exemples.
package {
import flash.display.*;
import flash.net.*;
import flash.media.*;
import flash.system.*;
import flash.events.*;
public class OnTextDataExample extends Sprite {
public function OnTextDataExample():void {
var customClient:Object = new Object();
customClient.onImageData = onImageDataHandler;
customClient.onTextData = onTextDataHandler;
var my_nc:NetConnection = new NetConnection();
my_nc.connect(null);
var my_ns:NetStream = new NetStream(my_nc);
my_ns.play("yourURL");
my_ns.client = customClient;
var my_video:Video = new Video();
my_video.attachNetStream(my_ns);
addChild(my_video);
}
public function onImageDataHandler(imageData:Object):void {
trace("imageData length: " + imageData.data.length);
var imageloader:Loader = new Loader();
imageloader.loadBytes(imageData.data); // imageData.data is a ByteArray object.
addChild(imageloader);
}
public function onTextDataHandler(textData:Object):void {
trace("--- textData properties ----");
var key:String;
for (key in textData) {
trace(key + ": " + textData[key]);
}
}
}
}Voir aussi
| onXMPData | Evénement |
| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | Flash Player 10, AIR 1.5 |
Définit un écouteur pour qu'il réponde lorsque Flash Player reçoit des informations spécifiques à XMP (Extensible Metadata Platform) d'Adobe, intégrées à la vidéo lue. Pour plus d'informations sur les formats des fichiers vidéo pris en charge par Flash Media Server, consultez la documentation Flash Media Server.
onXMPData est en réalité une propriété de l'objet NetStream.client. Ce n'est pas un événement, mais il est listé dans la section Events car il répond à un événement de données, soit lorsqu'il diffuse avec Flash Media Server, soit lors de la lecture d'un fichier FLV. Pour plus d'informations, consultez la description de la classe NetStream et de la propriété NetStream.client. Vous ne pouvez pas utiliser la méthode addEventListener(), ni toute autre méthode EventDispatcher, pour écouter ou traiter onMetaData comme un é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'écouteur d'événement associé 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é.
L'objet transmis à la fonction de gestion d'événement onXMPData() a une propriété data, qui correspond à une chaîne. La chaîne est générée à partir d'un champ UUID de premier niveau. (L'UUID 128 bits du champ de premier niveau est BE7ACFCB-97A9-42E8-9C71-999491E3AFAC.) Ce champ UUID de premier niveau contient un document XML représenté sous forme de chaîne UTF-8 terminée par un octet nul.
Voir aussi
| Evénement |
flash.events.StatusEventflash.events.StatusEvent.STATUS| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 |
Distribué lorsque l'application tente de lire un fichier chiffré à l'aide de la gestion des droits numériques (DRM) en appelant la méthode NetStream.play(). La valeur de la propriété du code d'état est la suivante : « DRM.encryptedFLV ».
type d'un objet événement status.
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.
|
code
| Description de l'état de l'objet. |
currentTarget
| L'objet qui traite activement l'objet Event avec un écouteur d'événements. |
level
|
Catégorie du message, telle que "status", "warning" ou "error".
|
target
| Objet publiant son état. |
Voir aussi
| CONNECT_TO_FMS | Constante |
public static const CONNECT_TO_FMS:String = "connectToFMS"| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | Flash Player 10, AIR 1.5 |
Objet statique utilisé comme paramètre pour le constructeur d'une occurrence de NetStream. Il s'agit de la valeur par défaut du second paramètre du constructeur NetStream ; il n'est pas utilisé par l'application pour la lecture progressive. Lorsqu'il est utilisé, ce paramètre oblige le constructeur à se connecter à une occurrence de Flash Media Server.
| DIRECT_CONNECTIONS | Constante |
public static const DIRECT_CONNECTIONS:String = "directConnections"| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | Flash Player 10, AIR 1.5 |
Crée une connexion d'éditeur homologue à homologue. Transmet cette chaîne pour le deuxième paramètre (facultatif) au constructeur d'une occurrence de NetStream. Avec cette chaîne, une application peut créer une connexion NetStream dans le but de publier du contenu audio et vidéo vers des clients.
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 {
var stream:NetStream = 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);
}
}