Итак, я пытаюсь сделать (супер) простой программный инструмент для нового проекта, над которым я работаю. То, как я это делал, похоже на «музыкальный набор текста» в Garageband, когда определенные ноты связаны с определенными клавишами на клавиатуре. То, что я пытался сделать, - это связать супер маленькие mp3 (~ 100 КБ каждый) с кнопками и клавишами. То, как я это сделал, выглядит следующим образом:
var a = document.createElement('audio');
var s = document.createElement('audio');
var d = document.createElement('audio');
var f = document.createElement('audio');
a.setAttribute('src', 'Sounds/a.mp3');
$('.a').click(function() {
a.currentTime = 0;
a.play();
});
$(document).jkey('a',function(){
a.currentTime = 0;
a.play();
return false;
});
Для привязки ключей я использую плагин jKey jquery.
Вещи работают (в основном), но есть несколько проблем:
В Chrome при нажатии клавиши или кнопки звук пропускается, а затем, кажется, перезапускается очень быстро. Firefox не работает (firebug говорит, что это как-то связано с .currentTime), но Safari работает отлично.
Удерживая нажатой клавишу, я бы не хотел продолжать выполнять эту функцию. В настоящее время нажатие на клавишу продолжает воспроизводить бит, в результате чего звучит звук "Дун Дун Дун Дун Дун Дун Дун Дун Дун Дун Дун Дун Дун".
Любые предложения о том, как исправить следующее, приветствуются. Я пробовал обычные способы связывания ключей в javascript, и я получаю те же результаты, поэтому я знаю, что это не jKey.
Также - если у кого-нибудь есть какие-либо предложения, как сделать это совершенно другим / лучшим способом, не стесняйтесь, сообщите мне! Спасибо!
Я должен также упомянуть, что текущее время таково, что оно начинает воспроизводить заметку, как только нажимается кнопка.