答案 0 :(得分:0)
更改
<audio id="player1" preload="none">
到
<audio id="player" preload="none">
或强>
定义&#34; var player&#34;在全局范围内删除&#34; var&#34; in&#34; var player = document.querySelector(&#34;#player1&#34;); &#34;
或移动&#34; var player = document.querySelector(&#34;#player1&#34;); &#34;全球范围。
或者将&#34; var player = document.querySelector(&#34;#player1&#34;)移动到功能playButtonClickHandler(){...
或尝试使用&#34; document.getElementByID&#34;来控制播放器对象。内置于浏览器的自动功能(不适用于所有浏览器,尤其是旧浏览器)
更改此
player.volume = 1.0;
player.play();
player.pause();
到
player1.volume = 1.0;
player1.play();
player1.pause();
或者使用all-time-favorite访问DOM的元素:
更改此
player.volume = 1.0;
player.play();
player.pause();
到
document.getElementById("player1").volume = 1.0;
document.getElementById("player1").play();
document.getElementById("player1").pause();
答案 1 :(得分:0)
问题是player
变量的范围仅限于firstClick
函数,并且您尝试在playButtonClickHandler
函数中访问它。
只需在这两个函数都可以访问的范围内定义此变量。例如:
(function iife() {
"use strict";
......
var player = document.querySelector("#player1");
function firstClick() {
.....
}
function playButtonClickHandler() {
// "player" can be accessed from here now.
.....
}
}());