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