gpt4 book ai didi

javascript - Web Audio API - 加载文件并播放

转载 作者:行者123 更新时间:2023-11-28 19:57:33 24 4
gpt4 key购买 nike

SO 上有一些类似的问题,但似乎语法已全部弃用。

我正在尝试从 DropBox(公共(public)链接)加载声音并在应用程序启动时播放它。

这是我的代码:

var context = new webkitAudioContext();
function start() {
// Note: this will load asynchronously
var request = new XMLHttpRequest();
request.open("GET", "https://dl.dropboxusercontent.com/u/86304379/Pt.%205%20Flood%20the%20Soul.wav", true);
request.responseType = "arraybuffer"; // Read as binary data
// Asynchronous callback
request.onload = function() {
var data = request.response;

audioRouting(data);
};
request.send();
}
function audioRouting(data) {
source = context.createBufferSource(); // Create sound source
buffer = context.createBuffer(data, true/* make mono */); // Create source buffer from raw binary
source.buffer = buffer; // Add buffered data to object
source.connect(context.destination); // Connect sound source to output
playSound(source); // Pass the object to the play function
}
// Tell the Source when to play
function playSound() {
source.noteOn(context.currentTime); // play the source immediately
}

唉 - 我在我的一个函数中调用 playSound() 并得到了

“无法调用未定义的方法‘noteOn’”

这是因为 noteOn 已被弃用吗?或者是有其他问题。我只想将一些音频加载到音频节点中并播放它 - 我没有在网上找到任何足够的代码来显示如何执行此操作。

最佳答案

你是对的,noteOn功能确实消失了,现在是start:

user:        crogers
date: Tue Sep 25 12:56:14 2012 -0700
summary: noteOn/noteOff changed to start/stop -- added deprecation notes

该 API 与您从文档中获得的一样好 - AudioBufferSourceNode部分是您想要的部分。

Here's我如何做到这一点的一个例子(请原谅 CoffeeScript)。

关于javascript - Web Audio API - 加载文件并播放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22275315/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com