Стоп звук и отдельные массивы - PullRequest
0 голосов
/ 30 декабря 2011

В настоящее время я работаю над учебником о том, как сделать звуковую панель в HTML5 при условии здесь .

Текущий фрагмент кода, с которым у меня возникли проблемы, таков:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript" charset="utf-8">
   $(function() {
        $("audio").removeAttr("controls").each(function(i, audioElement) {
            var audio = $(this);
            var that = this; //closure to keep reference to current audio tag
            $("#doc").append($('<button>'+audio.attr("title")+'</button>').click(function() {
                    if(that.play()==true){
                        play.stop();
                    }else{
                that.play();
                    }
            }));
        });
    });
</script>

Я пытаюсь сделать так, чтобы за раз мог играть только один звук.Я также попытался сделать простую кнопку остановки, вызвав that.stop(), но это не работает.Я также пытаюсь понять, как сделать отдельные массивы, чтобы я мог организовать звуки.Я попытался изменить звуковую метку, так как в уроке рассказывается о том, как она создает массив для его поиска.Но я должен изменить неправильную строку кода, так как новый массив никогда не работает.

1 Ответ

1 голос
/ 30 декабря 2011

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

Есть несколько событий, которые могут вам помочь.Например:

  • закончено
  • пауза
  • воспроизведение
  • воспроизведение

Если вы слушаете их, исохраняя глобальный флаг, чтобы сообщать вам, воспроизводится ли мультимедиа, вы можете предотвратить воспроизведение звука другими кнопками / ссылками, сначала проверив этот флаг.

EDITED FOR COMMENT :

Практически весь необходимый вам код - это JavaScript, а не PHP.Взгляните на этот пример скрипта.

http://jsfiddle.net/B82Nq/11/

Он регистрирует универсальный прослушиватель медиа-событий для тегов 3 <audio>, а также отдельные обработчики паузы, завершения и воспроизведения событий для управления воспроизведением.,Когда вам отправляют событие остановки / запуска, переключается глобальная логическая переменная, которая сообщает вам, следует ли разрешить воспроизведение другого клипа (я полагаю, вы просто отключите кнопки, которые их воспроизводят, или что-то подобное).

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

(никаких извинений за использование зажима AC / DC:)

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