📜  在 javascript 中播放音频(1)

📅  最后修改于: 2023-12-03 15:23:10.146000             🧑  作者: Mango

在 JavaScript 中播放音频

如果您想在 Web 上播放音频,JavaScript 为您提供了许多功能强大的 API。这些 API 不仅可以在 Web 应用程序中播放音频,还可以添加音频效果和音频播放控制。

使用 HTML5 audio 元素

HTML5 提供了 <audio> 元素,它可以播放音频文件,而不需要使用 JavaScript。通过设置音频文件的 URL,可以将其添加到 HTML 文件中:

<audio src="audio_file.mp3" controls>
  Your browser does not support the audio element.
</audio>

使用 src 属性指定音频文件的 URL,使用 controls 属性可以在音频文件上添加播放控件。

使用 JavaScript 播放音频

要通过 JavaScript 播放音频,可以使用 Audio() 构造函数创建一个新的音频对象:

var audio = new Audio('audio_file.mp3');

然后,您可以利用可用的方法和属性来对音频进行控制。例如,使用 play() 方法播放音频:

audio.play();
添加音频效果

Web Audio API 允许您在音频文件上添加音频效果,例如混响、增益、延迟等。要使用 Web Audio API,需要创建一个 AudioContext 对象:

var context = new AudioContext();

然后,可以创建一个音频源对象,使用 createBufferSource() 方法从 URL 中加载音频文件:

var source = context.createBufferSource();
var xhr = new XMLHttpRequest();
xhr.open('GET', 'audio_file.mp3', true);
xhr.responseType = 'arraybuffer';
xhr.onload = function() {
  source.buffer = context.decodeAudioData(xhr.response);
  source.connect(context.destination);
};
xhr.send();

您可以使用 createGain()createDelay() 方法创建增益和延迟效果。为了添加混响效果,您需要将 createConvolver() 方法与 buffer source 和 impulse response(混响效果)一起使用。

结论

无论您是想简单地在 Web 上播放音频,还是想增强音频效果和控制,JavaScript 提供了多种API,可以满足您的需求。