我正在尝试构建一个Web应用程序,它可以从API中获取一只鸟的声音,播放它并在旧鸟停止播放后获得一只新鸟。截至目前,它适用于Safari& Firefox,但脚本在Chrome中停止。
function init() {
console.log('init');
var container = document.getElementById("container");
container.innerHTML = ("Machines & Birds");
fetchBirdAPI();
}
function fetchBirdAPI() {
fetch(url)
.then(function(response) {
return response.json();
}).then(function(response) {
console.log(response)
getAudio(response);
});
}
function getAudio(response) {
if (response.numRecordings !== 0) {
var birdSrc = (response.recordings[0].file);
var audio = document.createElement('AUDIO');
audio.src = birdSrc;
audio.addEventListener('loadedmetadata', function() {
console.log(audio.duration);
});
audio.play();
audio.onended = function() {
console.log('Audio Ended');
init();
}
}
else {
init();
}
}
所以基本上audio.onended不起作用。还尝试使用audio = new Audio()启动音频而没有任何运气。
这里真的很惊讶,所以任何意见都会受到赞赏。