我正在尝试在js中播放音频文件。我究竟做错了什么? 该脚本会在发生100%的事件后自动停止,现在我要做的就是在停止后添加声音
这是其中的代码:
arr = append(arr, jsonObj)
下面是完整的function stop() {
stop_flag = true;
var audio = new Audio('play.mp3');
audio.play();
}
函数,位于底部。
script.js
答案 0 :(得分:1)
问题是您正在函数audio
中设置stop()
,这使其在该函数中是本地的。执行函数后,所有本地var
都将被销毁。您需要使用全局范围来使对象保持活动状态。
例如:
// set 'audio' in the global scope
var audio = new Audio('/path/to/default.mp3');
// create a play / pause button
function playPause(e) {
// NOTE: audio is from the gloabl scope
if (this.textContent == 'Play') {
audio.play();
this.textContent = 'Pause';
} else {
audio.pause();
this.textContent = 'Play';
}
}
window.onload = function() {
var a = document.getElementById('func');
a.addEventListener('click',playPause,false);
}
<button id="func">Play</button>