以下是一个使用Ajax Blob URL作为音频源的示例代码:
// 创建XMLHttpRequest对象
var xhr = new XMLHttpRequest();
// 发送Ajax请求获取音频文件
xhr.open('GET', 'audio.mp3', true);
xhr.responseType = 'blob';
xhr.onload = function(e) {
if (this.status == 200) {
// 获取Blob对象
var blob = this.response;
// 创建Blob URL
var blobUrl = URL.createObjectURL(blob);
// 创建音频元素
var audio = new Audio();
// 设置音频源为Blob URL
audio.src = blobUrl;
// 播放音频
audio.play();
}
};
xhr.send();
在上面的示例中,我们使用XMLHttpRequest对象发送GET请求以获取音频文件(audio.mp3)。我们将responseType
设置为blob
,以确保响应返回Blob对象。
当Ajax请求成功完成后,我们使用URL.createObjectURL()
方法创建一个Blob URL。然后,我们创建一个Audio
对象,并将音频源设置为Blob URL。最后,我们调用play()
方法来播放音频。
请注意,为了在浏览器中使用Blob URL,你需要将代码放在一个Web服务器上运行,而不是直接从文件系统中打开HTML文件。