ActionScript 3
Praca z dźwiękiem
Szukaj…
Składnia
- Sound.play (startTime: Number = 0, pętle: int = 0, sndTransform: flash.media: SoundTransform = null): SoundChannel // Odtwarza załadowany dźwięk, zwraca SoundChannel
Przestań odtwarzać dźwięk
import flash.net.URLRequest;
import flash.media.Sound;
import flash.media.SoundChannel;
import flash.events.Event;
var snd:Sound; = new Sound();
var sndChannel:SoundChannel
var sndTimer:Timer;
snd.addEventListener(Event.COMPLETE, soundLoaded);
snd.load(new URLRequest("soundFile.mp3")); //load after adding the complete event
function soundLoaded(e:Event):void
{
sndChannel = snd.play();
//Create a timer to wait 1 second
sndTimer = new Timer(1000, 1);
sndTimer.addEventListener(TimerEvent.TIMER, stopSound, false, 0, true);
sndTimer.start();
}
function stopSound(e:Event = null):void {
sndChannel.stop(); //Stop the sound
}
Nieskończona pętla dźwięku
import flash.net.URLRequest;
import flash.media.Sound;
import flash.events.Event;
var req:URLRequest = new URLRequest("filename.mp3");
var snd:Sound = new Sound(req);
snd.addEventListener(Event.COMPLETE, function(e: Event)
{
snd.play(0, int.MAX_VALUE); // There is no way to put "infinite"
}
Nie musisz też czekać na załadowanie dźwięku przed wywołaniem funkcji play()
. Będzie to wykonywać tę samą pracę:
snd = new Sound(new URLRequest("filename.mp3"));
snd.play(0, int.MAX_VALUE);
A jeśli naprawdę chcesz z jakiegoś powodu zapętlić dźwięk w nieskończoność ( int.MAX_VALUE
dźwięk 1 przez około 68 lat, nie licząc przerwy, jaką powoduje mp3 ...) możesz napisać coś takiego:
var st:SoundChannel = snd.play();
st.addEventListener(Event.SOUND_COMPLETE, repeat);
function repeat(e:Event) {
st.removeEventListener(Event.SOUND_COMPLETE, repeat);
(st = snd.play()).addEventListener(Event.SOUND_COMPLETE, repeat);
}
Funkcja play()
zwraca nowe wystąpienie obiektu SoundChannel
każdym wywołaniu. Przypisujemy go do zmiennej i nasłuchujemy jego zdarzenia SOUND_COMPLETE. W przypadku wywołania zwrotnego detektor jest usuwany z bieżącego obiektu SoundChannel
i tworzony jest nowy dla nowego obiektu SoundChannel
.
Załaduj i odtwórz dźwięk zewnętrzny
import flash.net.URLRequest;
import flash.media.Sound;
import flash.events.Event;
var req:URLRequest = new URLRequest("click.mp3");
var snd:Sound = new Sound(req);
snd.addEventListener(Event.COMPLETE, function(e: Event)
{
snd.play();
}
Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow