Объединение flash плеера и jquery
Не могу заставить устанавливать и выдавать текущее значение позиции проигрывания флеш плеера.
Привязал вот такой плагин для работы с объектом flash. http://jquery.thewikies.com/swfobject/examples Использую вот такой плеер http://flash-mp3-player.net/players/js/ var Pposition = 10000; var myFlash = $("#myFlash").flash({swf: 'player_mp3_multi.swf', bgcolor: "transparent", FlashVars: { mp3: "../bionda.mp3", width: 210, height: 24, autoplay:1, loop:1, showvolume:1, showlist:0, loadingcolor:888888, sliderovercolor:666666, buttonovercolor:888888, currentmp3color:"ffffff", scrollbarcolor:"eeeeee" }}); myFlash.flash(function() { this.SetVariable("method:setPosition", Pposition); alert(Pposition); } ); Несмотря на то, что ошибок согласно консоли ошибок нет, все равно нихрена не работает. Помогите! |
Есть одно предположение.
Ты грузиш флэш здесь $("#myFlash").flash({swf: 'player_mp3_multi.swf', а затем сразу пыаешся вызвать метод this.SetVariable("method:setPosition", Pposition); но так как загрузка происходит асинхронно, то вероятно ты пытаешся вызвать метод setPosition у флеша, ещё до того момента как сам флеш загрузился. Попробуй в порядке эсперемента, отсрочить вызов функции секунд на 5 и посмотрим что получится setTimeout(function(){ myFlash.flash(function() { this.SetVariable("method:setPosition", Pposition); alert(Pposition); } },5000); |
В общем, вроде как работает тот код, что вы написали, только вот не могу переключить позицию по значению.
var Pposition = 20000; var myFlash = $("#myFlash").flash(); setTimeout(function(){ myFlash.flash(function(){ this.SetVariable("method:setPosition", Pposition); alert(Pposition); });},10); Вот такой код не переключает позицию на 20 000, хотя по логике должен - песня с начала воспроизводится. Как переключить? |
Меня бы на твоём месте в первую очередь интерисовала два вопроса.
1й) как отследить готовность флэш обьекта (событие onLoad - надо полагать) 2й) Как отследить событие готовности самого флэш приложения, (вроде у проигрывателя есть событие onInit) с другой стороны можно попробывать пойти в обход для автоматического воспроизведения можно попробывать добавить autoplay=1 в flashvars вероятно можно аналогично поступить с позицией и громкостью кстатии для jQuery есть гоовые решения по воспроизведению звука и видео |
Часовой пояс GMT +3, время: 05:37. |