| Pacchetto | flash.media |
| Classe | public final class SoundChannel |
| Ereditarietà | SoundChannel EventDispatcher Object |
| Versione linguaggio: | ActionScript 3.0 |
| Versione lettore: | Flash Player 9 |
stop(), proprietà per il controllo dell'ampiezza (volume) del canale e una proprietà per impostare un oggetto SoundTransform sul canale.
Vedere anche
| Proprietà | Definito da | ||
|---|---|---|---|
![]() | constructor: Object
Un riferimento all'oggetto classe o alla funzione di costruzione per una determinata istanza di oggetto.
| Object | |
| leftPeak: Number
[sola lettura]
L'ampiezza (volume) corrente del canale sinistro, compresa tra 0 (silenzioso) e 1 (ampiezza massima).
| SoundChannel | ||
| position: Number
[sola lettura]
Quando la riproduzione è in corso, la proprietà della posizione indica il punto esatto del file audio che viene riprodotto.
| SoundChannel | ||
![]() | prototype: Object
[statico]
Un riferimento all'oggetto prototipo di un oggetto classe o funzione.
| Object | |
| rightPeak: Number
[sola lettura]
L'ampiezza (volume) corrente del canale destro, compresa tra 0 (silenzioso) e 1 (ampiezza massima).
| SoundChannel | ||
| soundTransform: SoundTransform
L'oggetto SoundTransform assegnato al canale audio.
| SoundChannel | ||
| Metodo | Definito da | ||
|---|---|---|---|
![]() |
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registra un oggetto listener di eventi con un oggetto EventDispatcher, in modo che il listener riceva la notifica di un evento.
| EventDispatcher | |
![]() |
Invia un evento nel flusso di eventi.
| EventDispatcher | |
![]() |
Verifica se per l'oggetto EventDispatcher sono presenti listener registrati per un tipo specifico di evento.
| EventDispatcher | |
![]() |
Indica se per un oggetto è definita una proprietà specifica.
| Object | |
![]() |
Indica se un'istanza della classe Object si trova nella catena di prototipi dell'oggetto specificato come parametro.
| Object | |
![]() |
Indica se la proprietà specificata esiste ed è enumerabile.
| Object | |
![]() |
Rimuove un listener dall'oggetto EventDispatcher.
| EventDispatcher | |
![]() |
Imposta la disponibilità di una proprietà dinamica per le operazioni cicliche.
| Object | |
|
Interrompe la riproduzione del suono nel canale.
| SoundChannel | ||
![]() |
Restituisce la rappresentazione in formato stringa dell'oggetto specificato.
| Object | |
![]() |
Restituisce il valore di base dell'oggetto specificato.
| Object | |
![]() |
Verifica se un listener di eventi è registrato con questo oggetto EventDispatcher o qualsiasi suo antenato per il tipo di evento specificato.
| EventDispatcher | |
| Evento | Riepilogo | Definito da | ||
|---|---|---|---|---|
![]() | Inviato quando Flash Player riceve lo stato di attivazione del sistema operativo e diventa attivo. | EventDispatcher | ||
![]() | Inviato quando Flash Player perde lo stato di attivazione del sistema operativo e sta per diventare inattivo. | EventDispatcher | ||
| Inviato quando la riproduzione di un suono รจ terminata. | SoundChannel | |||
| leftPeak | proprietà |
leftPeak:Number [sola lettura]
| Versione linguaggio: | ActionScript 3.0 |
| Versione lettore: | Flash Player 9 |
L'ampiezza (volume) corrente del canale sinistro, compresa tra 0 (silenzioso) e 1 (ampiezza massima).
public function get leftPeak():Number
| position | proprietà |
position:Number [sola lettura]
| Versione linguaggio: | ActionScript 3.0 |
| Versione lettore: | Flash Player 9 |
Quando la riproduzione è in corso, la proprietà position indica il punto esatto del file audio che viene riprodotto. Quando la riproduzione viene interrotta o sospesa, la proprietà position indica l'ultimo punto riprodotto del file audio.
È prassi comune salvare il valore della proprietà position quando l'audio viene interrotto. È possibile riprendere la riproduzione in un secondo momento partendo esattamente dalla posizione salvata.
public function get position():Number
| rightPeak | proprietà |
rightPeak:Number [sola lettura]
| Versione linguaggio: | ActionScript 3.0 |
| Versione lettore: | Flash Player 9 |
L'ampiezza (volume) corrente del canale destro, compresa tra 0 (silenzioso) e 1 (ampiezza massima).
public function get rightPeak():Number
| soundTransform | proprietà |
soundTransform:SoundTransform [lettura-scrittura]
| Versione linguaggio: | ActionScript 3.0 |
| Versione lettore: | Flash Player 9 |
L'oggetto SoundTransform assegnato al canale audio. Gli oggetti SoundTransform comprendono proprietà per impostare il volume, la panoramica e l'assegnazione dell'altoparlante sinistro e destro.
public function get soundTransform():SoundTransform
public function set soundTransform(value:SoundTransform):void
Vedere anche
| stop | () | metodo |
public function stop():void
| Versione linguaggio: | ActionScript 3.0 |
| Versione lettore: | Flash Player 9 |
Interrompe la riproduzione del suono nel canale.
Nella funzione di costruzione, viene caricato il file audio. (Si presume che il file si trovi nella stessa directory del file SWF.) Un campo di testo viene utilizzato come pulsante per consentire all'utente di riprodurre o sospendere l'audio. Quando l'utente fa clic sul campo di testo button, viene richiamato il metodo clickHandler().
Nel metodo clickHandler(), la prima volta che l'utente fa clic sul campo di testo, l'audio viene riprodotto e assegnato a un canale audio. Successivamente, quando l'utente fa clic sul campo di testo da sospendere, la riproduzione audio viene interrotta. La proprietà position del canale audio registra la posizione del suono nel momento dell'interruzione e viene utilizzata per riprendere la riproduzione esattamente in quel punto quando l'utente fa clic sul campo di testo per riavviare la riproduzione. Ogni volta che viene chiamato il metodo Sound.play(), viene creato un nuovo oggetto SoundChannel, che viene assegnato alla variabile channel. Per poter utilizzare il metodo stop() del canale audio per sospendere la riproduzione, l'oggetto Sound deve essere assegnato a un oggetto SoundChannel.
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
| Versione linguaggio: | ActionScript 3.0 |
| Versione lettore: | Flash Player 9 |
Inviato quando la riproduzione di un suono è terminata.
Definisce il valore della proprietàtype di un oggetto evento soundComplete.
Questo evento ha le seguenti proprietà:
| Proprietà | Valore |
|---|---|
bubbles | false |
cancelable | false; non è presente alcun comportamento predefinito da annullare. |
currentTarget | L'oggetto che elabora attivamente l'oggetto Event con un listener di eventi. |
target | L'oggetto Sound su cui è terminata la riproduzione di un suono. |
Nella funzione di costruzione, viene definito un campo di testo che contiene l'elenco dei brani e una riga per la selezione del brano da riprodurre. (In genere, i pulsanti vengono utilizzati per la riproduzione e le caselle di riepilogo per l'elenco dei brani.) È stato definito un oggetto formato di testo per modificare il formato delle righe dei brani in corsivo dopo la selezione. Quando l'utente fa clic sul campo di testo, viene richiamato il metodo clickHandler().
Nel metodo clickHandler(), il getLineIndexAtPoint() dell'oggetto campo di testo restituisce l'indice della riga su cui l'utente ha fatto clic. Utilizzando l'indice della riga, il metodo getLineText() ottiene il contenuto del testo. L'istruzione if verifica se l'utente ha selezionato la riproduzione o l'aggiunta di un brano alla sequenza dei brani. Se un utente ha selezionato la riproduzione e un brano, il listener di eventi per i clic del mouse viene rimosso e il metodo playNext() viene chiamato per iniziare la riproduzione dei brani. Se l'utente ha selezionato il titolo di un brano, il contenuto della riga viene aggiunto all'array songList e il formato della riga diventa corsivo.
Il metodo playNext() esegue un'iterazione nell'elenco array per caricare e riprodurre ogni brano. Il brano viene assegnato anche a un canale audio. Un listener di eventi per il canale audio viene aggiunto per rispondere quando la riproduzione del brano finisce e l'evento Event.SOUND_COMPLETE viene inviato. Il metodo soundCompleteHandler() richiama quindi il metodo playNext() per riprodurre il brano successivo. Questo processo continua finché non termina la riproduzione di tutti i brani elencati nell'array.
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();
}
}
}
Inviami un messaggio e-mail quando vengono aggiunti dei commenti a questa | Rapporto sui commenti
Pagina corrente: http://livedocs.adobe.com/flash/9.0_it/ActionScriptLangRefV3/flash/media/SoundChannel.html