Package | flash.media |
Classe | public class Video |
Héritage | Video DisplayObject EventDispatcher Object |
Sous-classes | VideoPlayer |
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Utilisé avec Flash Media Server, l’objet Video permet d’envoyer une vidéo en direct capturée par l’utilisateur vers le serveur, puis de la diffuser du serveur vers d’autres utilisateurs. Grâce à ses fonctionnalités, vous pouvez développer des applications multimédias telles qu’un lecteur vidéo simple, un lecteur vidéo avec publication multipoint d’un serveur à un autre ou une application de partage vidéo pour une communauté d’utilisateurs.
Flash Player 9 et les versions ultérieures gèrent la publication et la lecture des fichiers FLV codés avec le codec Sorenson ou On2 VP6, et prennent également en charge un canal alpha. Le codec vidéo On2 VP6 utilise moins de largeur de bande que les technologies plus anciennes et offre des filtres supplémentaires de dégroupage et de deringing. Voir la classe flash.net.NetStream pour plus d’informations sur la lecture vidéo et les formats pris en charge.
Flash Player 9.0.115.0 et les versions ultérieures prennent en charge le mip-mapping pour optimiser les performances et la qualité du rendu au moment de l’exécution. Pour la lecture vidéo, Flash Player utilise l’optimisation mip-mapping si vous définissez la propriété smoothing
de l’objet Video sur true
.
À partir d'AIR 25, une nouvelle balise pour Android a été introduite dans app.xml. Elle se nomme disableMediaCodec
. En définissant cette balise sur true
, vous désactivez mediacodec, et la vidéo est décodée via la couche d’application OpenMax. Autrement, mediacodec est activé. La valeur par défaut de cette balise est false
.
Comme pour les autres objets d’affichage de la liste d’affichage, vous pouvez contrôler différentes propriétés des objets Video. Par exemple, vous pouvez déplacer l’objet Video sur la scène à l’aide de ses propriétés x
et y
, modifier sa taille à l’aide de ses propriétés height
et width
, etc.
Pour lire un flux vidéo, utilisez attachCamera()
ou attachNetStream()
pour associer la vidéo à l’objet Video. Ajoutez ensuite l’objet Video à la liste d’affichage à l’aide de addChild()
.
Si vous utilisez Flash Professional, vous pouvez également placer l’objet Video sur la scène au lieu de l’ajouter à l’aide de la méthode addChild()
, comme suit :
- Si le panneau Bibliothèque n’est pas visible, sélectionnez Fenêtre > Bibliothèque pour l’afficher.
- Ajoutez un objet Video imbriqué à la bibliothèque en cliquant sur le menu Options à droite de la barre de titre du panneau bibliothèque et en sélectionnant Nouvelle Vidéo.
- Dans la boîte de dialogue des propriétés de la vidéo, nommez l’objet Video intégré à utiliser dans la bibliothèque et cliquez sur OK.
- Faites glisser l’objet Video sur la scène et utilisez l’inspecteur des propriétés pour lui donner un nom d’occurrence unique, par ex.
ma_video
(ne l’appelez pas Video).
Dans les applications AIR sur le poste de travail, la lecture d’une vidéo en mode plein écran désactive les fonctions d’économie d’énergie et d’écran de veille (lorsque celles-ci sont autorisées par le système d’exploitation).
Remarque : la classe Video n’étant pas une sous-classe de la classe InteractiveObject, elle ne peut pas distribuer d’événements de souris. Vous pouvez cependant appeler la méthode addEventListener()
sur le conteneur d’objet d’affichage qui contient l’objet Video.
Informations complémentaires
Concepts fondamentaux de la programmation de l’affichage
Classes d’affichage de base
Utilisation du mipmapping
Principes de base de la vidéo
Présentation des formats vidéo
Compatibilité de Flash Player et AIR avec les fichiers vidéo codés
Présentation des formats de fichiers vidéo Adobe F4V et FLV
Présentation de la classe Video
Rubriques avancées relatives aux fichiers vidéo
Exemple vidéo : Video Jukebox
Utilisation de la vidéo
Eléments de l’API associés
attachNetStream()
flash.media.Camera.getCamera()
flash.net.NetConnection
flash.net.NetStream
flash.display.DisplayObjectContainer.addChild()
flash.display.Stage.addChild()
Propriété | Défini par | ||
---|---|---|---|
accessibilityProperties : AccessibilityProperties
Options d’accessibilité actuelles de l’objet d’affichage. | DisplayObject | ||
alpha : Number
Indique la valeur de transparence alpha de l’objet spécifié. | DisplayObject | ||
blendMode : String
Valeur de la classe BlendMode qui spécifie le mode de fusion à utiliser. | DisplayObject | ||
blendShader : Shader [écriture seule]
Définit un shader utilisé pour la fusion de l’arrière-plan et du premier plan. | DisplayObject | ||
cacheAsBitmap : Boolean
Si la valeur true est définie, les moteurs d’exécution de Flash placent en mémoire cache une version bitmap interne de l’objet d’affichage. | DisplayObject | ||
cacheAsBitmapMatrix : Matrix
S’il n’est pas nul, cet objet Matrix définit le mode de rendu d’un objet d’affichage lorsque cacheAsBitmap est définie sur true. | DisplayObject | ||
constructor : Object
Référence à l’objet de classe ou à la fonction constructeur d’une occurrence donnée d’un objet. | Object | ||
deblocking : int
Indique le type de filtre appliqué aux vidéos décodées dans le cadre du posttraitement. | Video | ||
filters : Array
Tableau indexé contenant tous les objets filtre actuellement associés à l’objet d’affichage. | DisplayObject | ||
height : Number
Indique la hauteur de l’objet d’affichage, en pixels. | DisplayObject | ||
loaderInfo : LoaderInfo [lecture seule]
Renvoie un objet LoaderInfo qui contient des informations relatives au chargement du fichier auquel appartient cet objet d’affichage. | DisplayObject | ||
mask : DisplayObject
L’objet d’affichage appelant est masqué par l’objet mask spécifié. | DisplayObject | ||
metaData : Object
Obtient les données d’objet de métadonnées de l’occurrence DisplayObject si les données d’meta a été stockée près de la l’occurrence de cette DisplayObject dans le fichier SWF à l’aide d’une balise de4 PlaceObject. | DisplayObject | ||
mouseX : Number [lecture seule]
Indique la coordonnée x de la souris ou ou la position du périphérique de saisie utilisateur, en pixels. | DisplayObject | ||
mouseY : Number [lecture seule]
Indique la coordonnée y de la souris ou la position du périphérique de saisie utilisateur, en pixels. | DisplayObject | ||
name : String
Indique le nom d’occurrence de DisplayObject. | DisplayObject | ||
opaqueBackground : Object
Indique si l’objet d’affichage est opaque avec une couleur d’arrière-plan spécifique. | DisplayObject | ||
parent : DisplayObjectContainer [lecture seule]
Indique l’objet DisplayObjectContainer qui contient l’objet d’affichage. | DisplayObject | ||
root : DisplayObject [lecture seule]
Pour un objet d’affichage résidant dans un fichier SWF chargé, la propriété root correspond à l’objet d’affichage de premier niveau dans la partie de la structure arborescente de la liste d’affichage représentée par ce fichier. | DisplayObject | ||
rotation : Number
Indique la rotation de l’occurrence de DisplayObject, en degrés, à partir de son orientation d’origine. | DisplayObject | ||
rotationX : Number
Indique la rotation de l’axe des x de l’occurrence DisplayObject, en degrés, à partir de son orientation d’origine par rapport au conteneur 3D parent. | DisplayObject | ||
rotationY : Number
Indique la rotation de l’axe des y de l’occurrence DisplayObject, en degrés, à partir de son orientation d’origine par rapport au conteneur 3D parent. | DisplayObject | ||
rotationZ : Number
Indique la rotation de l’axe des z de l’occurrence DisplayObject, en degrés, à partir de son orientation d’origine par rapport au conteneur 3D parent. | DisplayObject | ||
scale9Grid : Rectangle
Grille de mise à l’échelle en vigueur. | DisplayObject | ||
scaleX : Number
Indique l’échelle horizontale (pourcentage) de l’objet telle qu’elle est appliquée à partir du point d’alignement. | DisplayObject | ||
scaleY : Number
Indique l’échelle verticale (pourcentage) de l’objet telle qu’elle est appliquée à partir du point d’alignement. | DisplayObject | ||
scaleZ : Number
Indique l’échelle de profondeur (pourcentage) de l’objet tel qu’elle est appliquée à partir du point d’alignement. | DisplayObject | ||
scrollRect : Rectangle
Cadre de sélection du défilement de l’objet d’affichage. | DisplayObject | ||
smoothing : Boolean
Indique si la vidéo doit être lissée (interpolée) lors de son redimensionnement. | Video | ||
stage : Stage [lecture seule]
Scène de l’objet d’affichage. | DisplayObject | ||
transform : flash.geom:Transform
Objet dont les propriétés se rapportent à la matrice, à la transformation des couleurs et aux limites des pixels d’un objet d’affichage. | DisplayObject | ||
videoHeight : int [lecture seule]
Nombre entier spécifiant la hauteur en pixels du flux vidéo. | Video | ||
videoWidth : int [lecture seule]
Nombre entier spécifiant la largeur en pixels du flux vidéo. | Video | ||
visible : Boolean
Indique si l’objet d’affichage est visible ou non. | DisplayObject | ||
width : Number
Indique la largeur de l’objet d’affichage, en pixels. | DisplayObject | ||
x : Number
Indique la coordonnée x de l’occurrence de DisplayObject par rapport aux coordonnées locales de l’objet DisplayObjectContainer parent. | DisplayObject | ||
y : Number
Indique la coordonnée y de l’occurrence de DisplayObject par rapport aux coordonnées locales de l’objet DisplayObjectContainer parent. | DisplayObject | ||
z : Number
Indique la position de coordonnée z le long de l’axe des z de l’occurrence DisplayObject par rapport au conteneur 3D parent. | DisplayObject |
Méthode | Défini par | ||
---|---|---|---|
Crée une occurrence de Video. | Video | ||
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 vidéo provenant d’une caméra à afficher dans le cadre de l’objet Video de l’application. | Video | ||
Spécifie un flux vidéo à afficher dans le cadre de l’objet Video dans l’application. | Video | ||
Efface l’image actuellement affichée dans l’objet Video (pas le flux vidéo). | Video | ||
Distribue un événement dans le flux d’événements. | EventDispatcher | ||
Renvoie un rectangle qui définit la zone de l’objet d’affichage relativement au système de coordonnées de l’objet targetCoordinateSpace. | DisplayObject | ||
Renvoie un rectangle qui définit les limites de l’objet d’affichage, en se basant sur le système de coordonnées défini par le paramètre targetCoordinateSpace, moins tout trait appliqué aux formes. | DisplayObject | ||
Convertit l’objet point des coordonnées de scène (globales) vers les coordonnées de l’objet d’affichage (locales). | DisplayObject | ||
Convertit un point bidimensionnel à partir des coordonnées de scène (globales) vers les coordonnées d’un objet d’affichage tridimensionnel (locales). | DisplayObject | ||
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 | ||
Evalue le cadre de sélection de l’objet d’affichage pour savoir s’il recouvre ou recoupe le cadre de sélection de l’objet d’affichage obj. | DisplayObject | ||
Evalue l’objet d’affichage pour savoir s’il recouvre ou recoupe le point spécifié par les paramètres x et y. | DisplayObject | ||
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 | ||
Convertit un point tridimensionnel des coordonnées de l’objet d’affichage tridimensionnel (locales) vers un point bidimensionnel dans les coordonnées de scène (globales). | DisplayObject | ||
Convertit l’objet point des coordonnées de l’objet d’affichage (locales) vers les coordonnées de la scène (globales). | DisplayObject | ||
Indique si la propriété spécifiée existe et est énumérable. | Object | ||
Supprime un écouteur de l’objet EventDispatcher. | EventDispatcher | ||
Définit la disponibilité d’une propriété dynamique pour les opérations en boucle. | Object | ||
Renvoie la représentation de chaîne de cet objet, formatée selon les paramètres régionaux en vigueur. | Object | ||
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 |
deblocking | propriété |
deblocking:int
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Indique le type de filtre appliqué aux vidéos décodées dans le cadre du posttraitement. La valeur par défaut, 0, autorise le compresseur vidéo à appliquer le filtre de dégroupage si nécessaire.
La compression de la vidéo peut engendrer des artefacts indésirables. Vous pouvez utiliser la propriété deblocking
pour définir des filtres de dégroupage et, pour la vidéo compressée utilisant le codex On2, ringing.
Blocking désigne les défauts visibles entre les limites des blocs qui composent chaque image vidéo. Ringing fait référence aux déformations observées au niveau des bords des éléments dans une image vidéo.
Deux filtres de dégroupage sont disponibles : l’un dans le codec Sorenson, l’autre dans le codec On2 VP6. Un filtre de deringing est également disponible lorsque vous utilisez le codec On2 VP6. Pour définir un filtre, utilisez une des valeurs suivantes :
- 0 — Autorise le compresseur vidéo à appliquer le filtre de dégroupage si nécessaire.
- 1 — N’utilise pas de filtre de dégroupage.
- 2 — Utilise le filtre de dégroupage Sorenson.
- 3 — Pour la vidéo On2 seulement, utilise le filtre de dégroupage On2, mais pas de filtre de deringing.
- 4 — Pour la vidéo On2 seulement, utilise le filtre de dégroupage et le filtre de deringing On2.
- 5 — Pour la vidéo On2 seulement, utilise le filtre de dégroupage On2 et un filtre de deringing On2 optimisé.
Si une valeur supérieure à 2 est sélectionnée pour la vidéo alors que vous utilisez le codec Sorenson, le décodeur Sorenson applique par défaut la valeur 2.
Le filtre de dégroupage a un effet sur les performances globales de lecture et il n’est généralement pas nécessaire pour la vidéo à large bande passante. Si le système d’un utilisateur n’est pas assez puissant, il lui sera peut-être difficile de lire la vidéo avec un tel filtre activé.
Implémentation
public function get deblocking():int
public function set deblocking(value:int):void
smoothing | propriété |
smoothing:Boolean
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Indique si la vidéo doit être lissée (interpolée) lors de son redimensionnement. Pour faciliter le lissage, le moteur d’exécution doit être en mode haute qualité (paramètre par défaut). La valeur par défaut est false
(pas de lissage).
Pour une lecture vidéo avec Flash Player 9.0.115.0 et versions ultérieures, définissez cette propriété sur true
pour tirer parti de l’optimisation d’image mip-mapping.
Implémentation
public function get smoothing():Boolean
public function set smoothing(value:Boolean):void
Informations complémentaires
videoHeight | propriété |
videoHeight:int
[lecture seule] Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Nombre entier spécifiant la hauteur en pixels du flux vidéo. Pour les flux vidéo en direct, cette valeur est identique à la propriété Camera.height
de l’objet Camera qui capture le flux vidéo. Pour les fichiers vidéo enregistrés, cette valeur correspond à la hauteur de la vidéo. L’événement NetStream.Video.DimensionChange est distribué dans le cas de vidéos enregistrées lorsque cette valeur change.
Vous pouvez utiliser cette propriété, par exemple, pour garantir que l’utilisateur regarde la vidéo au même format que celui auquel elle a été capturée, quel que soit le format réel de l’objet Video sur la scène.
Implémentation
public function get videoHeight():int
Eléments de l’API associés
videoWidth | propriété |
videoWidth:int
[lecture seule] Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Nombre entier spécifiant la largeur en pixels du flux vidéo. Pour les flux vidéo en direct, cette valeur est identique à la propriété Camera.width
de l’objet Camera qui capture le flux vidéo. Pour les fichiers vidéo enregistrés, cette valeur correspond à la largeur de la vidéo. L’événement NetStream.Video.DimensionChange est distribué dans le cas de vidéos enregistrées lorsque cette valeur change.
Vous pouvez utiliser cette propriété, par exemple, pour garantir que l’utilisateur regarde la vidéo au même format que celui auquel elle a été capturée, quel que soit le format réel de l’objet Video sur la scène.
Implémentation
public function get videoWidth():int
Eléments de l’API associés
Video | () | Constructeur |
public function Video(width:int = 320, height:int = 240)
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0, Flash Player 9 |
Crée une occurrence de Video. Si la valeur des paramètres width
et height
n’est pas définie, les valeurs par défaut sont utilisées. Vous pouvez aussi définir les propriétés de largeur et de hauteur de l’objet Video après sa construction initiale à l’aide des propriétés Video.width
et Video.height
. Lors de la création d’un objet Video, il est interdit de définir une largeur et une hauteur nulles. Si vous transmettez la valeur zéro, les valeurs par défaut sont appliquées.
Une fois l’objet Video créé, appelez la méthode DisplayObjectContainer.addChild()
ou DisplayObjectContainer.addChildAt()
pour l’ajouter à un objet DisplayObjectContainer parent.
width:int (default = 320 ) — Largeur de la vidéo, en pixels.
| |
height:int (default = 240 ) — Hauteur de la vidéo, en pixels.
|
Exemple ( Comment utiliser cet exemple )
var MyVideo:Video = new Video(); addChild(MyVideo); var MyNC:NetConnection = new NetConnection(); MyNC.connect(null); var MyNS:NetStream = new NetStream(MyNC); MyNS.play("http://www.helpexamples.com/flash/video/clouds.flv"); MyVideo.attachNetStream(MyNS); //the clouds.flv video has metadata we're not using, so create //an error handler to ignore the message generated by the runtime //about the metadata MyNS.addEventListener(AsyncErrorEvent.ASYNC_ERROR, asyncErrorHandler); function asyncErrorHandler(event:AsyncErrorEvent):void { //ignore metadata error message }
attachCamera | () | méthode |
public function attachCamera(camera:Camera):void
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0, Flash Player 9 |
Spécifie un flux vidéo provenant d’une caméra à afficher dans le cadre de l’objet Video de l’application.
Utilisez cette méthode pour associer une vidéo en direct capturée par l’utilisateur à l’objet Video. Vous pouvez diffuser la vidéo en direct localement sur l’ordinateur ou le périphérique sur lequel elle a été capturée, ou l’envoyer à Flash Media Server et utiliser ce serveur pour envoyer le flux aux autres utilisateurs.
Remarque : dans une application AIR for iOS, il est impossible d’afficher la caméra vidéo lorsque l’application a recours au mode de rendu sur GPU.
Paramètres
camera:Camera — Objet Camera qui capture des données vidéo. Pour annuler la connexion à l’objet Video, transmettez null .
|
Eléments de l’API associés
Exemple
Comment utiliser cet exemple
Pour une illustration de l’utilisation de cette méthode, voir l’exemple de la méthode Camera.getCamera().
attachNetStream | () | méthode |
public function attachNetStream(netStream:NetStream):void
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Spécifie un flux vidéo à afficher dans le cadre de l’objet Video dans l’application. Le flux vidéo est soit un fichier vidéo lu avec NetStream.play()
, soit un objet Camera, soit null
. Si vous utilisez un fichier vidéo, vous pouvez le stocker dans le système de fichiers local ou sur le serveur Flash Media Server. Si la valeur de l’argument netStream
correspond à null
, la vidéo n’est plus lue dans l’objet Video.
Il n’est pas nécessaire d’utiliser cette méthode si un fichier vidéo contient uniquement des données audio ; la partie audio des fichiers vidéo est automatiquement lue lors de l’appel de la méthode NetStream.play()
. Pour contrôler les données audio associées à un fichier vidéo, utilisez la propriété soundTransform
de l’objet NetStream qui lit le fichier vidéo.
Paramètres
netStream:NetStream — Objet NetStream. Pour annuler la connexion à l’objet Video, transmettez null .
|
Eléments de l’API associés
clear | () | méthode |
public function clear():void
Version du langage: | ActionScript 3.0 |
Versions du moteur d’exécution: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Efface l’image actuellement affichée dans l’objet Video (pas le flux vidéo). Cette méthode est très utile pour gérer l’image en cours. Par exemple, vous pouvez effacer la dernière image ou afficher des informations en attente sans masquer l’objet Video.
Eléments de l’API associés
videoURL
, en l’occurrence un fichier FLV appelé Video.flv qui se trouve 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 Video.attachNetStream()
et NetStream.play()
, est placé dans une fonction de gestionnaire. Le gestionnaire est appelé uniquement si la tentative de connexion à l’objet NetConnection a réussi, ce qui est le cas lorsque l’événement netStatus
renvoie un objet info doté d’une propriété code
signalant la réussite de l’opération. Il est recommandé d’attendre l’établissement d’une connexion avant d’appeler NetStream.play()
.
package { import flash.display.Sprite; import flash.events.*; import flash.media.Video; import flash.net.NetConnection; import flash.net.NetStream; public class VideoExample extends Sprite { private var videoURL:String = "Video.flv"; private var connection:NetConnection; private var stream:NetStream; public function VideoExample() { 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("Unable to locate video: " + videoURL); break; } } private function connectStream():void { stream = new NetStream(connection); stream.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler); stream.addEventListener(AsyncErrorEvent.ASYNC_ERROR, asyncErrorHandler); var video:Video = new Video(); video.attachNetStream(stream); stream.play(videoURL); addChild(video); } private function securityErrorHandler(event:SecurityErrorEvent):void { trace("securityErrorHandler: " + event); } private function asyncErrorHandler(event:AsyncErrorEvent):void { // ignore AsyncErrorEvent events. } } }
Tue Jun 12 2018, 09:30 AM Z