- Хроники. - -
Играем MP3 при загрузке страницы.
Posted By Ikutsin On 7 июля 2008 @ 16:13 In Flash | Comments Disabled
Есть некоторое количество способов проиграть MP3 сразу после загрузки. Но каждый из них сводится к вызову внешнего проигрывателя, будь то MediaPlayer, RealPlayer, SilverLight, Flash или что-нибудь еще… Лично я остановился на Adobe Flash. Он установлен на машинах 98% пользователей Интернета и его очень легко использовать. С начала я нашел несколько интересных API для проигрывания музыки во Flash, но с управлением из JavaScript.
Одним из популярнейших проигрывателей является XSPF Web Music Player [1]. Но это не совсем то, что нужно было мне. Во первых, управление находится во Flash, и требует PlayList. Это подходит только для проигрывания песен.
Еще один, это SoundManager [2]. Который помимо основной функции позволяет менять громкость и баланс звучания. Очень прост в использовании, если вам нужно сделать собственные звуки на нажатие кнопок или что-то на подобие еще. Правда есть одно серьезное ограничение, из за которого для меня этот API не подошел. Дело в том, что для начала проигрывания файлов он должен загрузить плеер. Это не позволяет проигрывать музыку в событии onLoad тега BODY.
После своих изысканий я понял, что мне нужен супер простой плеер, который только будет проигрывать музыку без всяких наворотов. Моим решением был следующий код, для MTASC-а [3]:
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 [4]
>>
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»);
>
>
Исходной код проекта можно скачать здесь [5].
// ]]>
Article printed from Хроники.:
URL to article: /131-igraem-mp3-pri-zagruzke-stranicy
URLs in this post:
[1] XSPF Web Music Player: http://musicplayer.sourceforge.net/
[2] SoundManager: http://www.schillmania.com/projects/soundmanager/
[3] MTASC-а: http://www.mtasc.org
[4] Filebase: http://www.downloads.binaryanalysis.net/?a=d&i=PebSuOl3KS
[5] скачать здесь: http://filebase./fileget.php?f=programms/simplePlayer.rar
Click here to print.
Copyright © 2008 Все, что меня окружает. All rights reserved.