| Package | flash.media |
| Classe | public final class SoundChannel |
| Héritage | SoundChannel EventDispatcher Object |
| Version du langage : | ActionScript 3.0 |
| Version du lecteur : | Flash Player 9 |
stop(), des propriétés permettant de contrôler l'amplitude (volume) du canal et une propriété servant à affecter un objet SoundTransform au canal.
Voir aussi
| Propriété | Défini par | ||
|---|---|---|---|
![]() | constructor : Object
Référence à l'objet de classe ou à la fonction constructeur d'une occurrence donnée d'un objet.
| Object | |
| leftPeak : Number
[lecture-seule]
Amplitude actuelle (volume) du canal gauche, comprise entre 0 (muet) et 1 (amplitude maximale).
| SoundChannel | ||
| position : Number
[lecture-seule]
Lorsque le fichier est en cours de lecture, la propriété position indique le point en cours de lecture dans le fichier audio.
| SoundChannel | ||
![]() | prototype : Object
[static]
Référence à l’objet prototype d’un objet de classe ou fonction.
| Object | |
| rightPeak : Number
[lecture-seule]
Amplitude actuelle (volume) du canal droit, comprise entre 0 (muet) et 1 (amplitude maximale).
| SoundChannel | ||
| soundTransform : SoundTransform
Objet SoundTransform affecté au canal audio.
| SoundChannel | ||
| Méthode | Défini par | ||
|---|---|---|---|
![]() |
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 | |
![]() |
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 | |
![]() |
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 | |
|
Arrête la lecture du son dans le canal.
| SoundChannel | ||
![]() |
Renvoie la représentation sous forme de chaîne de l'objet spécifié.
| Object | |
![]() |
Renvoie la valeur primitive de l'objet spécifié.
| Object | |
![]() |
Vérifie si un écouteur d’événement est enregistré auprès de cet objet EventDispatcher ou de ses ancêtres pour le type d’événement spécifié.
| EventDispatcher | |
| Evénement | Synthèse | Défini par | ||
|---|---|---|---|---|
![]() | Distribué lorsque Flash Player a le focus du système d’exploitation et devient actif. | EventDispatcher | ||
![]() | Distribué lorsque Flash Player perd le focus du système d’exploitation et devient inactif. | EventDispatcher | ||
| Distribué au terme de la lecture d’un son. | SoundChannel | |||
| leftPeak | propriété |
leftPeak:Number [lecture-seule]
| Version du langage : | ActionScript 3.0 |
| Version du lecteur : | Flash Player 9 |
Amplitude actuelle (volume) du canal gauche, comprise entre 0 (muet) et 1 (amplitude maximale).
public function get leftPeak():Number
| position | propriété |
position:Number [lecture-seule]
| Version du langage : | ActionScript 3.0 |
| Version du lecteur : | Flash Player 9 |
Lorsque le fichier est en cours de lecture, la propriété position indique le point en cours de lecture dans le fichier audio. Lorsque la lecture est arrêtée ou interrompue, la propriété position indique le dernier point lu dans le fichier audio.
Généralement, la valeur de la propriété position est enregistrée lorsque la lecture est interrompue. Vous pouvez ensuite reprendre la lecture en redémarrant à partir de cette position enregistrée.
public function get position():Number
| rightPeak | propriété |
rightPeak:Number [lecture-seule]
| Version du langage : | ActionScript 3.0 |
| Version du lecteur : | Flash Player 9 |
Amplitude actuelle (volume) du canal droit, comprise entre 0 (muet) et 1 (amplitude maximale).
public function get rightPeak():Number
| soundTransform | propriété |
soundTransform:SoundTransform [lecture-écriture]
| Version du langage : | ActionScript 3.0 |
| Version du lecteur : | Flash Player 9 |
Objet SoundTransform affecté au canal audio. Un objet SoundTransform comprend les propriétés de réglage du volume, du déplacement panoramique, ainsi que des haut-parleurs gauche et droit.
public function get soundTransform():SoundTransform
public function set soundTransform(value:SoundTransform):void
Voir aussi
| stop | () | méthode |
public function stop():void
| Version du langage : | ActionScript 3.0 |
| Version du lecteur : | Flash Player 9 |
Arrête la lecture du son dans le canal.
Le fichier audio est chargé dans le constructeur. (Ici, le fichier est supposé être dans le même répertoire que le fichier SWF.) Un champ de texte est utilisé comme bouton pour que l'utilisateur puisse lire ou interrompre la lecture. Lorsque l'utilisateur clique sur le champ de texte button, la méthode clickHandler() est invoquée.
Dans la méthode clickHandler(), au premier clic de l'utilisateur sur le champ de texte, le son est défini sur lecture et affecté à un canal audio. Lorsque l'utilisateur clique ensuite sur le champ de texte pour faire une pause, la lecture s'interrompt. La propriété position du canal audio enregistre la position du son lors de l'interruption et est utilisée pour reprendre la lecture depuis cet emplacement lorsque l'utilisateur clique sur le champ de texte pour reprendre la lecture. Remarquez qu'à chaque appel de la méthode Sound.play(), un nouvel objet SoundChannel est créé et affecté à la variable channel. L'objet Sound doit être affecté à un objet SoundChannel pour que la méthode stop() du canal audio soit utilisée pour arrêter le son.
package {
import flash.display.Sprite;
import flash.media.Sound;
import flash.media.SoundChannel;
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.text.TextField;
import flash.events.MouseEvent;
import flash.text.TextFieldAutoSize;
public class SoundChannel_stopExample extends Sprite {
private var snd:Sound = new Sound();
private var channel:SoundChannel = new SoundChannel();
private var button:TextField = new TextField();
public function SoundChannel_stopExample() {
var req:URLRequest = new URLRequest("MySound.mp3");
snd.load(req);
button.x = 10;
button.y = 10;
button.text = "PLAY";
button.border = true;
button.background = true;
button.selectable = false;
button.autoSize = TextFieldAutoSize.CENTER;
button.addEventListener(MouseEvent.CLICK, clickHandler);
this.addChild(button);
}
private function clickHandler(e:MouseEvent):void {
var pausePosition:int = channel.position;
if(button.text == "PLAY") {
channel = snd.play(pausePosition);
button.text = "PAUSE";
}
else {
channel.stop();
button.text = "PLAY";
}
}
}
}
| soundComplete | Evénement |
flash.events.Event
flash.events.Event.SOUND_COMPLETE
| Version du langage : | ActionScript 3.0 |
| Version du lecteur : | Flash Player 9 |
Distribué au terme de la lecture d’un son.
Définit la valeur de la propriététype d'un objet événement soundComplete.
Les propriétés de cet événement sont les suivantes :
| Propriété | Valeur |
|---|---|
bubbles | false |
cancelable | false ; il n’existe aucun comportement par défaut à annuler. |
currentTarget | L’objet qui traite activement l’objet Event avec un écouteur d’événements. |
target | Objet Sound dont la lecture d’un son est terminée. |
Dans le constructeur, un champ de texte est défini et contient la liste des chansons et une ligne de sélection des lectures. (Normalement, des boutons serviront à lire et à lister les champs d'une liste de chansons.) Un objet de mise en forme du texte a été défini pour modifier le format des lignes des chansons et les mettre en italique une fois sélectionnées. Lorsque l'utilisateur clique sur le champ de texte, la méthode clickHandler() est invoquée.
Dans la méthode clickHandler(), la propriété getLineIndexAtPoint() de l'objet champ de texte renvoie l'index de la ligne sur laquelle l'utilisateur à cliqué. À l'aide de l'index de la ligne, la méthode getLineText() obtient le contenu du texte. L'instruction if regarde si l'utilisateur a sélectionné un élément pour le lire ou pour ajouter une chanson à la liste de lecture. Si l'utilisateur a sélectionné la lecture et qu'une chanson a été sélectionnée, l'écouteur d'événement du clic de souris est supprimé et la méthode playNext() est appelée pour commencer la lecture des chansons. Si l'utilisateur a sélectionné un titre de chanson, le contenu de la ligne est alors ajouté au tableau songList et le format de la ligne est défini sur italique.
La méthode playNext() charge et lit chaque chanson en faisant une itération dans la liste du tableau. La chanson est également affectée à un canal audio. Un écouteur d'événement du canal audio est ajouté pour répondre lorsque la lecture de la chanson est terminée et l'événement Event.SOUND_COMPLETE est distribué. La méthode soundCompleteHandler() invoque alors la méthode playNext() pour diffuser la chanson suivante. Ce processus se poursuit jusqu'à ce que la lecture de toutes les chansons du tableau soit terminée.
package {
import flash.display.Sprite;
import flash.media.Sound;
import flash.media.SoundChannel;
import flash.text.TextField;
import flash.text.TextFieldAutoSize;
import flash.events.MouseEvent;
import flash.text.TextFormat;
import flash.net.URLRequest;
import flash.events.Event;
import flash.events.IOErrorEvent;
public class SoundChannel_event_soundCompleteExample extends Sprite {
private var channel:SoundChannel = new SoundChannel();
private var songList:Array = new Array();
private var listTextField:TextField = new TextField();
private var songFormat:TextFormat = new TextFormat();
private var arrayIndex:int = 0;
private var songSelected:Boolean = false;
public function SoundChannel_event_soundCompleteExample() {
listTextField.autoSize = TextFieldAutoSize.LEFT;
listTextField.border = true
listTextField.background = true;
listTextField.text = "Song1.mp3\n" + "Song2.mp3\n"
+ "Song3.mp3\n" + "Song4.mp3\n" + "PLAY";
songFormat.italic = true;
listTextField.addEventListener(MouseEvent.CLICK, clickHandler);
addChild(listTextField);
}
private function clickHandler(e:MouseEvent):void {
var index:int = listTextField.getLineIndexAtPoint(e.localX, e.localY);
var line:String = listTextField.getLineText(index);
var firstIndex:uint = listTextField.getLineOffset(index);
var playLine:uint = listTextField.numLines - 1;
if((index == playLine) && (songSelected == true)) {
listTextField.removeEventListener(MouseEvent.CLICK, clickHandler);
playNext();
} else if (index != playLine) {
songList.push(line.substr(0, (line.length - 1)));
listTextField.setTextFormat(songFormat, firstIndex,
(firstIndex + listTextField.getLineLength(index)));
songSelected = true;
}
}
private function playNext():void {
if(arrayIndex < songList.length) {
var snd:Sound = new Sound();
snd.load(new URLRequest(songList[arrayIndex]));
channel = snd.play();
channel.addEventListener(Event.SOUND_COMPLETE, soundCompleteHandler);
arrayIndex++;
} else {
songSelected = false;
while(arrayIndex > 0) {
songList.pop();
arrayIndex--;
}
}
}
private function soundCompleteHandler(e:Event):void {
playNext();
}
private function errorHandler(errorEvent:IOErrorEvent):void {
trace(errorEvent.text);
}
}
}
package {
import flash.display.Sprite;
import flash.events.*;
import flash.media.Sound;
import flash.media.SoundChannel;
import flash.net.URLRequest;
import flash.utils.Timer;
public class SoundChannelExample extends Sprite {
private var url:String = "MySound.mp3";
private var soundFactory:Sound;
private var channel:SoundChannel;
private var positionTimer:Timer;
public function SoundChannelExample() {
var request:URLRequest = new URLRequest(url);
soundFactory = new Sound();
soundFactory.addEventListener(Event.COMPLETE, completeHandler);
soundFactory.addEventListener(Event.ID3, id3Handler);
soundFactory.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
soundFactory.addEventListener(ProgressEvent.PROGRESS, progressHandler);
soundFactory.load(request);
channel = soundFactory.play();
channel.addEventListener(Event.SOUND_COMPLETE, soundCompleteHandler);
positionTimer = new Timer(50);
positionTimer.addEventListener(TimerEvent.TIMER, positionTimerHandler);
positionTimer.start();
}
private function positionTimerHandler(event:TimerEvent):void {
trace("positionTimerHandler: " + channel.position.toFixed(2));
}
private function completeHandler(event:Event):void {
trace("completeHandler: " + event);
}
private function id3Handler(event:Event):void {
trace("id3Handler: " + event);
}
private function ioErrorHandler(event:Event):void {
trace("ioErrorHandler: " + event);
positionTimer.stop();
}
private function progressHandler(event:ProgressEvent):void {
trace("progressHandler: " + event);
}
private function soundCompleteHandler(event:Event):void {
trace("soundCompleteHandler: " + event);
positionTimer.stop();
}
}
}
M'envoyer un message électronique lorsque des commentaires sont ajoutés à cette page | Rapport de commentaire
Page en cours: http://livedocs.adobe.com/flash/9.0_fr/ActionScriptLangRefV3/flash/media/SoundChannel.html