Картинка блога

Есть некоторое количество способов проиграть MP3 сразу после загрузки. Но каждый из них сводится к вызову внешнего проигрывателя, будь то MediaPlayer, RealPlayer, SilverLight, Flash или что-нибудь еще… Лично я остановился на Adobe Flash. Он установлен на машинах 98% пользователей Интернета и его очень легко использовать. С начала я нашел несколько интересных API для проигрывания музыки во Flash, но с управлением из JavaScript.

Одним из популярнейших проигрывателей является XSPF Web Music Player. Но это не совсем то, что нужно было мне. Во первых, управление находится во Flash, и требует PlayList. Это подходит только для проигрывания песен.

Еще один, это SoundManager. Который помимо основной функции позволяет менять громкость и баланс звучания. Очень прост в использовании, если вам нужно сделать собственные звуки на нажатие кнопок или что-то на подобие еще. Правда есть одно серьезное ограничение, из за которого для меня этот API не подошел. Дело в том, что для начала проигрывания файлов он должен загрузить плеер. Это не позволяет проигрывать музыку в событии onLoad тега BODY.

После своих изысканий я понял, что мне нужен супер простой плеер, который только будет проигрывать музыку без всяких наворотов. Моим решением был следующий код, для MTASC-а:

class Main

{

public static function main():Void

{

var times = _root.times;

if (times == undefined) times = 1;

var sound_mc:MovieClip = _root.createEmptyMovieClip(«sound_mc», 1);

debug(«»+_root.file);

var s:Sound = new Sound(sound_mc);

sound_mc.onEnterFrame = function() {

if(s.getBytesTotal()>0 && s.getBytesLoaded()==s.getBytesTotal()) {

s.start(0, times);

sound_mc.onEnterFrame = null;

Main.debug(«»+_root.file + » play times:» + times + » size:» + s.getBytesTotal());

}

}

s.loadSound(_root.file, false);

}

public static function debug(str:String):Void {

if (_root.debug.length) {

getURL(«javascript:alert(«+str+«);

}

}

}

Этот код просто получает в качестве параметра файл, который нужно проиграть, мой проигрыватель таким образом весит меньше 2кб. Вот и все.

Скачать код с примером можно с Filebase

>

>

id=«flashcontent»>

>

var so = new SWFObject(«audioPlayer.swf», «audioPlayer», «1», «1», «8», «#FFFFFF»);

so.addParam(«wmode», «transparent»);

so.addVariable(«file», «play.mp3»);

so.write(«flashcontent»);

>

>

Исходной код проекта можно скачать здесь.

// ]]>

Метки:, ,

Похожие статьи

Один комментарий в “Играем MP3 при загрузке страницы.”

  1. Информация интересная , думаю достоверная , подходящая для практического применения.