Объединение 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, время: 23:00. |