Suche…


Syntax

  • Sound.play (startTime: Number = 0, Loops: int = 0, sndTransform: flash.media: SoundTransform = null): SoundChannel // Spielt einen geladenen Sound ab und gibt einen SoundChannel zurück

Stoppen Sie die Wiedergabe eines Tons

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
}

Endlosschleifen eines Sounds

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"
}

Sie müssen auch nicht warten, bis der Sound geladen ist, bevor Sie die play() Funktion aufrufen. Das wird also die gleiche Arbeit machen:

snd = new Sound(new URLRequest("filename.mp3"));
snd.play(0, int.MAX_VALUE);

Und wenn Sie den Sound wirklich aus irgendeinem Grund in einer int.MAX_VALUE schleifen möchten ( int.MAX_VALUE wird 1s-Sound für etwa 68 Jahre schleifen, ohne die Pause zu int.MAX_VALUE , die ein MP3 verursacht ...), können Sie so etwas schreiben:

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() Funktion play() gibt bei jedem SoundChannel neue Instanz des SoundChannel Objekts zurück. Wir ordnen es der Variablen zu und warten auf das Ereignis SOUND_COMPLETE. Im Ereignisrückruf wird der Listener aus dem aktuellen SoundChannel Objekt entfernt und ein neuer wird für das neue SoundChannel Objekt erstellt.

Laden Sie einen externen Sound und spielen Sie ihn ab

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
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow