-1

我想通过将音乐文件传递给一个函数来启动它,然后在另一个函数完成执行后自动播放它。一旦功能完成我想播放“done.mp3”,并在错误播放“error.wav”等......

我只想写下简单的纯 JavaScript 函数来做到这一点。在任何地方调用它并提供一个 .mp3 或 .wav 音乐文件......它会直接播放它。

我的工作将在 ASP.NET 项目中使用。

我希望能够在 Internet Explorer、Firefox、Chrome 中使用它。

4

2 回答 2

1

创建一个音频元素并从您的函数中触发它,如下所示:

var audio = document.createElement('audio');
audio.src = 'link/to/audio/file.ogg|mp3'; //mp3 not supported in current FF

audio.addEventListener('canplaythrough', function() { 
   audio.play();
}, false);

或者在函数调用结束时预加载音频audio.play()

if (audio.attr('readyState')) audio.play();

如果没有readyState,只需使用 asetTimeout重试。记住检查错误(如果文件不存在、不支持的编解码器等)。

于 2013-06-12T08:31:14.803 回答
0

根据其他人的多次搜索,我认为我找到了一个解决方案,不幸的是它不适用于 IE。我可以在 div 中添加工具,这个工具适用于 Firefox 和 chrome:

document.getElementById("TestDiv").innerHTML = "<audio autoplay='autoplay' ID= 'audioPlayerElement' src=" + MusicLink + " ></audio>";

于 2013-06-13T09:08:25.050 回答