ActionScript 3
Werken met geluid
Zoeken…
Syntaxis
- Sound.play (startTime: Number = 0, loops: int = 0, sndTransform: flash.media: SoundTransform = null): SoundChannel // Speelt een geladen geluid af, geeft een SoundChannel terug
Stop met het afspelen van een geluid
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
}
Oneindige looping een geluid
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"
}
U hoeft ook niet te wachten tot het geluid is geladen voordat u de functie play()
aanroept. Dus dit zal hetzelfde werk doen:
snd = new Sound(new URLRequest("filename.mp3"));
snd.play(0, int.MAX_VALUE);
En als je om een of andere reden het geluid oneindig lang wilt herhalen ( int.MAX_VALUE
zal het loops-geluid ongeveer 68 jaar doorlopen, de pauze niet meegerekend die een mp3 veroorzaakt ...) kun je zoiets schrijven:
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);
}
play()
functie retourneert elke keer dat het wordt aangeroepen een nieuw exemplaar van het SoundChannel
object. We koppelen het aan variabele en luisteren naar zijn SOUND_COMPLETE-gebeurtenis. In het geval van callback, wordt de luisteraar verwijderd uit het huidige SoundChannel
object en wordt een nieuwe gemaakt voor het nieuwe SoundChannel
object.
Laad en speel een extern geluid
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
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow