Поиск…


Синтаксис

  • Sound.play (startTime: Number = 0, loop: int = 0, sndTransform: flash.media: SoundTransform = null): SoundChannel // Воспроизводит загруженный звук, возвращает SoundChannel

Остановить воспроизведение звука

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
}

Бесконечная петля звука

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

Вам также не нужно ждать загрузки звука перед вызовом функции play() . Таким образом, это будет выполнять ту же работу:

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

И если вы действительно хотите по какой-то причине int.MAX_VALUE звук inifinite time ( int.MAX_VALUE будет зацикливаться на 1-м звуке около 68 лет, не считая паузы, которую вызывает mp3), вы можете написать примерно так:

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() возвращает новый экземпляр объекта SoundChannel каждый раз, когда он SoundChannel . Мы передаем его переменной и прослушиваем его событие SOUND_COMPLETE. В случае обратного вызова слушатель удаляется из текущего объекта SoundChannel а новый создается для нового объекта SoundChannel .

Загружать и воспроизводить внешний звук

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
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow