Jump to content
  • 0

audio.js + запомнить паузу в cookies


skiph
 Share

Question

Подключил к сайту библиотеку audio.js Все хорошо, работает стоп - плэй, но как сделать запоминание паузы в кукисах, чтобы на каждой странице оно не начинало заново играть? Если честно я не силен в js чтобы правильно задать этот триггер... :unsure:

п.с.: библиотека используется для фоновой мелодии на сайте.

Link to comment
Share on other sites

5 answers to this question

Recommended Posts

  • 0

1) Зачем нам код библиотеки?

2) Никто не будет разбираться в коде чужой библиотеки, если вам нужно что-то понять, то для этого существует документация, которую и надо читать в первую очередь.

Link to comment
Share on other sites

  • 0

1) Зачем нам код библиотеки?

2) Никто не будет разбираться в коде чужой библиотеки, если вам нужно что-то понять, то для этого существует документация, которую и надо читать в первую очередь.

понятно, что никто не будет разбираться, но подскажите хотя бы как мне вызвать нужную функцию? я изучил код и в нем есть такие функции pause, play - попробовал вписать код прямо в самой библиотеке в этих функциях:


audio['play'] = function() {
// If the audio hasn't started preloading, then start it now.
// Then set `preload` to `true`, so that any tracks loaded in subsequently are loaded straight away.
if (!audio.settings.preload) {
audio.settings.preload = true;
audio.element.init(audio.mp3);
}
audio.playing = true;
// IE doesn't allow a method named `play()` to be exposed through `ExternalInterface`, so lets go with `pplay()`.
// <http://dev.nuclearrooster.com/2008/07/27/externalinterfaceaddcallback-can-cause-ie-js-errors-with-certain-keyworkds/>
audio.element.pplay();
audio.settings.play.apply(audio);
//запись в куку
$.cookie("autoplay", "true", { path: '/' });
}
audio['pause'] = function() {
audio.playing = false;
// Use `ppause()` for consistency with `pplay()`, even though it isn't really required.
audio.element.ppause();
audio.settings.pause.apply(audio);
//запись в куку
$.cookie("autoplay", "false", { path: '/' });
}

потом на самой странице после вызова делаю проверку (запускать с параметром автоплєй или нет):


if($.cookie("autoplay") !== "false") {
audiojs.settings.autoplay = true;
}

Радикально, но по другому не знаю как и проблема в том, что данный код работает только в FF и Opera, Хроми и ИЕ игнорирует, то есть скорее всего в куку не записывается ничего..

Link to comment
Share on other sites

  • 0

Это не функции, а методы объекта. Не знаю как у вас создается объект, но вызывать его метод надо через точку:


имя_вашего_объекта.pause();

Вот это наверное его имя, так как все методы начинаются после этой строки

attachFlashEvents: function(element, audio) {

Видимо, потому как это методы для флэш версии, в хроме в ие9 срабатывал другой метод (для хтмл5):

нашел такие строки и добавил еще и туда:


play: function() {
var player = this.settings.createPlayer;
container[audiojs].helpers.addClass(this.wrapper, player.playingClass);
$.cookie("autoplay", "true", { path: '/' });
},
pause: function() {
var player = this.settings.createPlayer;
container[audiojs].helpers.removeClass(this.wrapper, player.playingClass);
$.cookie("autoplay", "false", { path: '/' });
},

мой код стал работать и в хроме и в ИЕ...

Можете, пожалуйста, подсказать как правильно сделать эти перехваты именно на самой странице, а не в коде библиотеки, хотя бы на примере одного. Дальше попробую разобраться сам.

Link to comment
Share on other sites

  • 0
Можете, пожалуйста, подсказать как правильно сделать эти перехваты именно на самой странице, а не в коде библиотеки, хотя бы на примере одного. Дальше попробую разобраться сам.

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

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy