Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用选择、选项和音频进行更改_Javascript_Select_Audio_Option_Onchange - Fatal编程技术网

Javascript 使用选择、选项和音频进行更改

Javascript 使用选择、选项和音频进行更改,javascript,select,audio,option,onchange,Javascript,Select,Audio,Option,Onchange,我整天都在摆弄这段代码,但我似乎无法让它工作,我想知道你们中是否有人能告诉我问题出在哪里 我有一个选择与2个选项和音频应该改变根据所选的选项。两个选项都可用时,select显示正常,但音频未显示,因此我认为问题在于以下几行: audioFiles.options[audioFiles.selectedIndex].id==“English” 你们有谁能看出我做错了什么?我没有使用jQuery,文件的路径与它们应该的一样。这里有一些东西,例如: if (audioFiles.options[aud

我整天都在摆弄这段代码,但我似乎无法让它工作,我想知道你们中是否有人能告诉我问题出在哪里

我有一个选择与2个选项和音频应该改变根据所选的选项。两个选项都可用时,select显示正常,但音频未显示,因此我认为问题在于以下几行:
audioFiles.options[audioFiles.selectedIndex].id==“English”


你们有谁能看出我做错了什么?我没有使用jQuery,文件的路径与它们应该的一样。

这里有一些东西,例如:

if (audioFiles.options[audioFiles.selectedIndex].id == "English") {
    var audioPath = document.getElementById("English");
    mp3.src = audioPath.value;
    ogg.src = audioPath.value;
    wav.src = audioPath.value;
    embedded.src = audioPath.value;
}
您似乎使ogg.src和wav.src的值与mp3.src的值相同,因为您仅在选项的值中定义了mp3文件的值,这将在浏览器尝试播放ogg/wav格式时出现故障,因为该文件是mp3扩展名,发送的mime类型将是ogg/wav

但是,这可能会被浏览器本身捕获并修复,具体取决于您喜欢哪一个

HTML5音频对象具有某些属性(例如控件),您可以通过JS操纵这些属性

如果您希望在单击“选择”后播放音频,则应将此行添加到切换功能:

document.getElementById('audioPlayer').play();
如果您的
中的mime类型/src没有错误,这应该对您有用

由于您正在显示控件,您应该能够从那里单击暂停/继续以及播放

据我所知,你在问这个问题。 如果您需要更多详细信息,请向我们提供信息,以便更好地帮助您


e、 g.您尝试过做什么?

如果您不知道,您可以使用
audioFiles.value
检索所选
值。从我看到的情况来看,您没有“初始化”音频,因此(仅基于发布的代码)当页面加载时将没有音频。我知道audioFiles.value,但我的值是我的路径,它们可能会更改。我刚刚输入了一些数据,向您展示可能存在的内容。所以我需要这个选项的ID,它不会改变,因为以后可能还会添加更多的选项。关于初始化问题,你是对的,所以我正在解决这个问题。始终指向所选的
的值,无论何时添加该选项,何时选择该选项。我从网上的其他解决方案中尝试了很多想法,但我现在真的记不清是哪些了。现在看来我已经走得很远了,我可以找到并播放音频文件了。但是onchange似乎不起作用。如果我选择英语,则会出现英语文件,我可以播放它。如果我选择德语,播放的仍然是英语文件。如果在使用德语时重新加载浏览器,则会使德语文件失效。我已尝试添加audioFile.load();两次都结束了。啊,这是我的错。。我忘了在加载时使用音频,而不是选择的音频文件。现在可以用了。:)很高兴听到,快乐的混合!
if (audioFiles.options[audioFiles.selectedIndex].id == "English") {
    var audioPath = document.getElementById("English");
    mp3.src = audioPath.value;
    ogg.src = audioPath.value;
    wav.src = audioPath.value;
    embedded.src = audioPath.value;
}
document.getElementById('audioPlayer').play();