以 <audio> 作为源的网络音频循环
Web Audio loops with <audio> as source
我知道我可以使用 createMediaElementSource() 使用 Web Audio 操作音频流,但是是否可以使用 Web Audio 播放/循环播放音频并将标签纯粹用于加载音频?
这是我试过的,但它说 start() 不是一个函数:
window.onload = init;
var context;
var bufferLoader;
function init() {
window.AudioContext = window.AudioContext || window.webkitAudioContext;
context = new AudioContext();
var audio = $("audio").get(0);
var source = context.createMediaElementSource(audio);
source.connect(context.destination);
source.start(0);
}
你试试 html 上的“”命令怎么样?
是这样写的:
<audio controls preload> </li>
<source src="the/source/in/your/library">
</audio>
更多信息here
您可以使用 audio.play()
开始播放音频,但您的源是 MediaElementAudioSourceNode,而不是 AudioBufferSourceNode。
如果你找到一种方法来获取音频标签的缓冲区,也许你可以将它传递给 AudioBuffer 并使其工作...
window.onload = init;
function init() {
window.AudioContext = window.AudioContext || window.webkitAudioContext;
var context = new AudioContext();
var audio = $("audio").get(0);
audio.addEventListener('loadstart', function() {
var source = context.createMediaElementSource(audio);
source.connect(context.destination);
audio.play(0);
}, false);
}
参考https://github.com/Korilakkuma/XSound/blob/master/build/xsound.dev.js#L9703 in XSound.js
我知道我可以使用 createMediaElementSource() 使用 Web Audio 操作音频流,但是是否可以使用 Web Audio 播放/循环播放音频并将标签纯粹用于加载音频?
这是我试过的,但它说 start() 不是一个函数:
window.onload = init;
var context;
var bufferLoader;
function init() {
window.AudioContext = window.AudioContext || window.webkitAudioContext;
context = new AudioContext();
var audio = $("audio").get(0);
var source = context.createMediaElementSource(audio);
source.connect(context.destination);
source.start(0);
}
你试试 html 上的“”命令怎么样?
是这样写的:
<audio controls preload> </li>
<source src="the/source/in/your/library">
</audio>
更多信息here
您可以使用 audio.play()
开始播放音频,但您的源是 MediaElementAudioSourceNode,而不是 AudioBufferSourceNode。
如果你找到一种方法来获取音频标签的缓冲区,也许你可以将它传递给 AudioBuffer 并使其工作...
window.onload = init;
function init() {
window.AudioContext = window.AudioContext || window.webkitAudioContext;
var context = new AudioContext();
var audio = $("audio").get(0);
audio.addEventListener('loadstart', function() {
var source = context.createMediaElementSource(audio);
source.connect(context.destination);
audio.play(0);
}, false);
}
参考https://github.com/Korilakkuma/XSound/blob/master/build/xsound.dev.js#L9703 in XSound.js