| Paquete | flash.media |
| Clase | public final class SoundChannel |
| Herencia | SoundChannel EventDispatcher Object |
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
stop(), propiedades para supervisar la amplitud (volumen) del canal y una propiedad para definir un objeto SoundTransform en el canal.
Véase también
| Propiedad | Definido por | ||
|---|---|---|---|
![]() | constructor : Object
Una referencia a la clase de objeto o función constructora para una instancia de objeto determinada.
| Object | |
| leftPeak : Number
[read-only]
La amplitud actual (volumen) del canal izquierdo. Valores comprendidos entre 0 (silencio) y 1 (amplitud completa).
| SoundChannel | ||
| position : Number
[read-only]
Cuando se está reproduciendo el sonido, la propiedad position indica el punto actual que se está reproduciendo en el archivo de sonido.
| SoundChannel | ||
![]() | prototype : Object
[static]
Una referencia al objeto prototipo de una clase u objeto de función.
| Object | |
| rightPeak : Number
[read-only]
La amplitud actual (volumen) del canal derecho. Valores comprendidos entre 0 (silencio) y 1 (amplitud completa).
| SoundChannel | ||
| soundTransform : SoundTransform
El objeto SoundTransform asignado al canal de sonido.
| SoundChannel | ||
| Método | Definido por | ||
|---|---|---|---|
![]() |
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registra un objeto de detector de eventos con un objeto EventDispatcher, de modo que el detector reciba la notificación de un evento.
| EventDispatcher | |
![]() |
Distribuye un evento en el flujo del evento.
| EventDispatcher | |
![]() |
Comprueba si el objeto EventDispatcher tiene detectores registrados para un tipo concreto de evento.
| EventDispatcher | |
![]() |
Indica si un objeto tiene definida una propiedad especificada.
| Object | |
![]() |
Indica si hay una instancia de la clase Object en la cadena de prototipo del objeto especificado como parámetro.
| Object | |
![]() |
Indica si existe la propiedad especificada y si es enumerable.
| Object | |
![]() |
Elimina un detector del objeto EventDispatcher.
| EventDispatcher | |
![]() |
Establece la disponibilidad de una propiedad dinámica para operaciones de bucle.
| Object | |
|
Detiene el sonido que se reproduce en el canal.
| SoundChannel | ||
![]() |
Devuelve la representación de cadena del objeto especificado.
| Object | |
![]() |
Devuelve el valor simple del objeto especificado.
| Object | |
![]() |
Comprueba si hay registrado un detector de eventos con este objeto EventDispatcher o con cualquiera de sus ascendientes para el tipo de evento concreto.
| EventDispatcher | |
| Evento | Resumen | Definido por | ||
|---|---|---|---|---|
![]() | Se distribuye cuando Flash Player queda seleccionado por el sistema operativo y pasa a estar activo. | EventDispatcher | ||
![]() | Se distribuye cuando Flash Player deja de estar seleccionado por el sistema operativo y pasa a estar inactivo. | EventDispatcher | ||
| Se distribuye cuando el sonido ha terminado de reproducirse. | SoundChannel | |||
| leftPeak | propiedad |
leftPeak:Number [read-only]
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
La amplitud actual (volumen) del canal izquierdo. Valores comprendidos entre 0 (silencio) y 1 (amplitud completa).
public function get leftPeak():Number
| position | propiedad |
position:Number [read-only]
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
Cuando se está reproduciendo el sonido, la propiedad position indica el punto actual que se está reproduciendo en el archivo de sonido. Cuando el sonido se detiene o se pone en pausa, la propiedad position indica el último punto que se reprodujo en el archivo de sonido.
Un caso de uso común es guardar el valor de la propiedad position cuando se detiene el sonido. El sonido se puede reanudar más tarde reiniciándolo desde esa posición guardada.
public function get position():Number
| rightPeak | propiedad |
rightPeak:Number [read-only]
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
La amplitud actual (volumen) del canal derecho. Valores comprendidos entre 0 (silencio) y 1 (amplitud completa).
public function get rightPeak():Number
| soundTransform | propiedad |
soundTransform:SoundTransform [read-write]
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
El objeto SoundTransform asignado al canal de sonido. Un objeto SoundTransform incluye propiedades para establecer el volumen, el desplazamiento lateral, la asignación del altavoz izquierdo y la asignación del altavoz derecho.
public function get soundTransform():SoundTransform
public function set soundTransform(value:SoundTransform):void
Véase también
| stop | () | método |
public function stop():void
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
Detiene el sonido que se reproduce en el canal.
En el constructor, se carga el archivo de sonido. (En este caso, se asume que el archivo está en el mismo directorio que el archivo SWF.) Se utiliza un campo de texto como botón para que el usuario reproduzca o detenga el sonido. Cuando el usuario hace clic en el campo de texto button, se invoca el método clickHandler().
En el método clickHandler(), la primera vez que el usuario hace clic en el campo de texto, se define el sonido para que se reproduzca y se asigne a un canal de sonido. A continuación, cuando el usuario hace clic en el campo de texto para poner en pausa, el sonido deja de reproducirse. La propiedad position del canal de sonido registra la posición del sonido en el momento de la detención y la utiliza para reanudarlo desde dicha posición cuando el usuario haga clic en el campo de texto para iniciar de nuevo la reproducción. Tenga en cuenta que cada vez que se llama al método Sound.play() se crea un nuevo objeto SoundChannel y se asigna a la variable channel. El objeto Sound necesita asignarse a un objeto SoundChannel para utilizar el método stop() del canal de sonido para detener el sonido.
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 | Evento |
flash.events.Event
flash.events.Event.SOUND_COMPLETE
| Versión del lenguaje: | ActionScript 3.0 |
| Versión del reproductor: | Flash Player 9 |
Se distribuye cuando el sonido ha terminado de reproducirse.
Define el valor de la propiedadtype de un objeto de evento soundComplete.
Este evento tiene las propiedades siguientes:
| Propiedad | Valor |
|---|---|
bubbles | false |
cancelable | false; no hay ningún comportamiento predeterminado que cancelar. |
currentTarget | El objeto que procesa de forma activa el objeto de evento con un detector de eventos. |
target | El objeto Sound en el que ha terminado de reproducirse un sonido. |
En el constructor, se define un campo de texto que contiene la lista de canciones y una línea para la selección de reproducción. (Normalmente, los botones se utilizarán para reproducir y los cuadro de lista para la lista de canciones.) Se ha definido un objeto de formato de texto para cambiar el formato de las líneas de las canciones a cursiva una vez seleccionadas. Cuando el usuario hace clic en el campo de texto, se invoca el método clickHandler().
En el método clickHandler(), getLineIndexAtPoint() del objeto de campo de texto devuelve el índice de la línea donde el usuario ha hecho clic. Con el índice de la línea, el método getLineText() obtiene el contenido del texto. La sentencia if comprueba si el usuario ha seleccionado reproducir o añadir una canción a la lista de reproducción. Si el usuario ha decidido reproducir y se ha seleccionado una canción, se elimina el detector de eventos para el clic del ratón y se llama al método playNext() para comenzar a reproducir las canciones. Si el usuario ha seleccionado el título de la canción, se añade el contenido de la línea a la matriz songList y el formato de la línea se define como cursiva.
El método playNext() itera por la lista matriz para cargar y reproducir cada canción. La canción también se asigna a un canal de sonido. Se añade un detector de eventos para el canal de sonido a fin de que responda cuando termine de reproducirse la canción y se distribuya el evento Event.SOUND_COMPLETE. El método soundCompleteHandler() invoca después el método playNext() para reproducir la siguiente canción. Este proceso continúa hasta que terminan de reproducirse todas las canciones enumeradas en la matriz.
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();
}
}
}
Enviarme un mensaje de correo electrónico cuando se añadan comentarios a esta página | Informe de comentarios
Página actual: http://livedocs.adobe.com/flash/9.0_es/ActionScriptLangRefV3/flash/media/SoundChannel.html