Главная > Аудио, Flash > Flash AS3: воспроизводим музыку с внешнего ресурса (автоматически и в разброс)

Flash AS3: воспроизводим музыку с внешнего ресурса (автоматически и в разброс)


24 августа 2011, 15:05. Разместил: Mysterious Master
Недавно нам понадобилось разработать презентацию мультимедийного приложения в Flash при поддержке ActionScript 3. В этом проекте нужно было реализовать воспроизведение фоновой музыки в автоматическом и разбросанном режиме, причем музыка эта должна была быть загружена из внешнего источника.

Сегодня мы хотим поделиться с вами полученным опытом. Код вполне простой: для реализации нужно создать новую папку для музыки в папке с проектом, дать имена файлам и не забывать про их последовательность. Вы можете использовать код для собственных проектов.

В нашем примере у нас 6 файлов в формате mp3, которые расположены в папке «musics», мы назвали их последовательно: Music1.mp3, Music2.mp3 и так далее.

Далее нам понадобился следующий код:

import flash.media.Sound;
import flash.net.URLRequest;
import flash.media.SoundChannel;
import flash.events.Event;

playsong();
//var songs:Array=new Array("music1.mp3","music2.mp3","music3.mp3","music4.mp3");
var sound:Sound;
var soundChannel:SoundChannel;
var randnum:uint;
function playsong()
{
randnum=Math.floor(Math.random()*6);
sound=new Sound();
var songs:String= "music" + randnum + ".mp3";
sound.load(new URLRequest("musics/"+songs));
soundChannel=sound.play();
soundChannel.addEventListener(Event.SOUND_COMPLETE,playrandomsong);
}
function playrandomsong(e:Event)
{
playsong();
}

Заметки:

* на 13-й строке замените число 6 на общее число музыкальных файлов, которые будут использованы в вашем проекте.
* если ваши музыкальный файлы названы по-другому, либо вы хотите перечислить файлы внутри кода, уберите комментирование 7 строки, удалите 15-ю строку, а затем замените 16-ю строку данным кодом:

sound.load(new URLRequest("musics/"+musics[randnum]));

Вернуться назад