我已经尝试过几个不同的Web Audio API库,我得到的结果好坏参半。到目前为止我最喜欢的是Timbre.js。我通常会从iOS的扬声器里听到“嗡嗡”的声音(即使是在使用AudioContextMonkeyPatch的时候)。这种情况有时不会发生。例如,重启手机,启动应用程序,点击“转到”按钮,声音就会和我的桌面浏览器一样(在我的耳朵里)。做出改变(例如改变节奏),以及嗡嗡嗡嗡。一般来说,音频输出是嗡嗡嗡嗡的。
示例代码:
var freqs = T(function(count) {
return [220, 440, 660, 880][count % 4];
});
var osc = T("sin", {freq:freqs, mul:0.5});
var env = T("perc", {a:50, r:500}, osc).bang();
var interval = T("param", {value:500}).linTo(50, "30sec");
T("interval", {interval:interval}, freqs, env).start();
env.play();
发布于 2016-01-16 22:33:55
我在您之后问了一个类似的问题(Distortion in WebAudio API in iOS9?),我相信我找到了答案:WebKit Audio distorts on iOS 6 (iPhone 5) first time after power cycling
摘要:以所需的码率播放音频样本,然后创建新的上下文。
// inside the click/touch handler
var playInitSound = function playInitSound() {
var source = context.createBufferSource();
source.buffer = context.createBuffer(1, 1, 48000);
source.connect(context.destination);
if (source.start) {
source.start(0);
} else {
source.noteOn(0);
}
};
playInit();
if (context.sampleRate === 48000) {
context = new AudioContext();
playInit();
}
编辑注意到,你可能不得不对Timbre.js做一些黑客操作才能让它工作,但它至少对我来说是有效的,因为它使用了网络音频。
https://stackoverflow.com/questions/34427162
复制相似问题