если звук играет jquery - PullRequest
       1

если звук играет jquery

3 голосов
/ 05 ноября 2010

У меня есть меню с указателем мыши, которое запускает воспроизведение звукового файла. Проблема в том, что если пользователь наведет указатель мыши на другую из ссылок в меню, звук снова начнет воспроизводиться

Что я пытаюсь понять, это как воспроизводить только один звук за раз? то есть. подождать, пока закончится воспроизведение текущего звука, прежде чем снова его запускать?

Есть идеи?

Вот код, который у меня есть на данный момент. Он использует плагин jQuery.sound.js.

.mouseover(function(){
$.fn.soundPlay({url: 'images/casino.wav'});
})

ура! Декабрь

Ответы [ 2 ]

1 голос
/ 05 ноября 2010

Единственный способ сделать это - вызвать обратный вызов, который сработает, когда звук перестанет воспроизводиться. Однако я не думаю, что есть плагин, который поддерживает что-то вроде этого:

$.fn.soundPlay({url: 'images/casino.wav', 
                finishedPlaying: function() {}});

Если бы у вас было это, вы могли бы отключить наведение мыши, когда звук начинает воспроизводиться, и включить его снова, когда закончится.

0 голосов
/ 05 ноября 2010

Не уверен, что вы можете дождаться завершения функции soundPlay, как обычные функции jquery.

Если вы знаете, как долго длится звук, я бы искал переменную, которая включается и выключается, используя известную продолжительность:

var soundPlaying = false;
.mouseover(function(){
    if (!soundPlaying) {
       $.fn.soundPlay({url: 'images/casino.wav'});
       soundPlaying = true;
       setTimeout('soundPlaying = false;',1000);
     }
});

В качестве длительности воспроизводимого звука я принял значение 1000 мс.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...