#javascript #html
#javascript #HTML
Вопрос:
В моем курсе разработки программного обеспечения мы разрабатываем веб-сайт для изучения языка на HTML5, но ни у кого из нас нет опыта работы с ним.
Основная функциональность веб-сайта, по сути, заключается в воспроизведении аудиоклипа, при котором пользователь выбирает изображение на основе того, чему, по его мнению, соответствует аудиоклип, а затем воспроизводит (и внутренне записывает) шум на основе того, правильно ли они идентифицировали объект.
Я просто ищу некоторые общие идеи относительно того, как это можно сделать. Я предполагаю, что использование javascript является заданным, но не совсем уверен в том, как «связать» изображение с аудиоклипом, чтобы определить, был ли выбор пользователя правильным.
Любая помощь приветствуется и большое спасибо за просмотр!
Ответ №1:
Это эскиз: http://jsfiddle.net/pimvdb/eZWq5 /.
Определите пару, и каждая пара может быть «отображена»; это приведет к появлению звука и изображений. Щелчок по изображению позволит проверить, было ли это изображение той же пары, из которой был сделан звук.
В нем нет шума, реализованного среди других вещей, которые вы, вероятно, хотели бы изменить, но это может быть началом.
function Pair(image, sound) {
this.image = image;
this.sound = sound;
}
Pair.prototype.display = function() {
var div1 = document.getElementById("div1");
var div2 = document.getElementById("div2");
div1.innerHTML = "";
div2.innerHTML = "";
var audio = document.createElement("audio"); // make audio
audio.src = this.sound;
audio.autoplay = true;
audio.controls = true;
div1.appendChild(audio);
var thisPair = this;
for(var i = 0; i < pairs.length; i ) { // make images
var img = document.createElement("img");
img.src = pairs[i].image;
img.onclick = function() {
if(this.src === thisPair.image) {
alert('yey');
} else {
alert('nop');
}
showRandom();
};
div2.appendChild(img);
}
};
var pairs = [
new Pair("http://lorempixel.com/100/100/?1",
"http://upload.wikimedia.org/wikipedia/"
"commons/a/a9/Tromboon-sample.ogg"),
new Pair("http://lorempixel.com/100/100/?2",
"http://upload.wikimedia.org/wikipedia/"
"commons/c/c8/Example.ogg")
];
function showRandom() {
pairs[Math.random() * pairs.length | 0].display();
}
showRandom();
Комментарии:
1. Большое спасибо за публикацию этого.
Ответ №2:
Чтобы узнать больше об API для javascript и аудио HTML5, ознакомьтесь с документами Mozilla Docs.
Чтобы ответить на ваш вопрос о том, как «связать» вещи, вот примерный набросок того, как это будет работать. У вас есть список аудиоклипов и список изображений, которые прилагаются к каждому и какое изображение является правильным (например, вопрос с множественным выбором). Затем вы отображаете изображения и воспроизводите звуковой клип. Подождите, пока пользователь нажмет на одно из изображений, а затем проверьте, правильно это или нет. Все это может быть достигнуто с помощью довольно простого javscript. Я не так много работал с аудио API, но вы можете вернуться с конкретным вопросом, если вам нужна дополнительная помощь.
Комментарии:
1. Большое спасибо за ответ. Да, это похоже на то, как мы хотим это сделать, но все еще пытаемся понять, как это сделать в HTML5. Еще раз спасибо.
2. @user1021118 Возможно, вы могли бы начать и вернуться, когда у вас возникнет более конкретная проблема. Немного сложно ответить на ваш вопрос, поскольку он настолько широк. Обратите внимание, что «HTML5» по-прежнему является обычным HTML, но с некоторыми дополнительными функциями, такими как audio API.