首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HTML5对象选择和音频播放

HTML5对象选择和音频播放
EN

Stack Overflow用户
提问于 2011-10-31 05:40:59
回答 2查看 171关注 0票数 0

在我的软件工程课程中,我们正在用HTML5设计一个语言学习网站,但我们都没有使用它的经验。

网站的主要功能实质上是播放音频剪辑,让用户基于他们认为音频剪辑对应的内容来选择图像,然后基于他们是否正确地识别对象来播放(和内部记录)噪声。

我只是在寻找一些关于如何做到这一点的一般想法。我假设javascript的使用是既定的,但不完全确定如何将图像链接到音频剪辑以确定用户的选择是否正确。

我们非常感谢您的帮助,非常感谢您的关注!

EN

回答 2

Stack Overflow用户

发布于 2011-10-31 05:59:04

这是一个草图:http://jsfiddle.net/pimvdb/eZWq5/

定义一对,每一对都可以“显示”;它将使音频和图像出现。单击图像将检查该图像是否与音频来自同一对图像。

在您可能想要更改的其他东西中,它没有实现噪声,但它可能是一个开始。

代码语言:javascript
复制
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
EN

Stack Overflow用户

发布于 2011-10-31 05:55:09

要了解有关javascript和HTML5音频的API的更多信息,请访问Mozilla Docs

为了回答你关于如何“链接”事物的问题,这里有一个关于它如何工作的粗略草图。您有一个音频剪辑列表和一个图像列表,其中每个图像都是正确的(就像一个多项选择题)。然后显示图像并播放声音剪辑。等待用户点击其中一个图像,然后检查是否正确。这一切都可以用非常简单的javscript来完成。我没有使用过那么多的音频API,但是如果你需要更多的帮助,你可以带着一个具体的问题回来。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7948047

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档