问题描述
我已经使用 MediaElementAudioSourceNode
设置了一个带有 Web Audio API 的简单示例。它在桌面/Android 浏览器中完美运行,但在 ios 设备中会产生某种破解噪音。我已经在 iPhone 中的 Safari 和 Chrome 中进行了测试。这是演示问题的 link。
Javascript 代码:
const AudioContext = window.AudioContext || window.webkitaudiocontext;
const audioCtx = new AudioContext();
/************************ Create audio graph ************************/
var audioElement = document.getElementById('audio2');
var source = audioCtx.createMediaElementSource(audioElement);
var gainNode = audioCtx.createGain();
source.connect(gainNode).connect(audioCtx.destination);
/************************ Create audio graph ************************/
var playPause = document.getElementById('play-pause');
var is_playing = false;
playPause.addEventListener('click',function () {
if (!is_playing) {
if (audioCtx.state === 'suspended') {
audioCtx.resume();
}
audioElement.play();
is_playing = true;
} else {
audioElement.pause();
is_playing = false;
}
})
我的代码/设置有问题吗?
我确实在各种论坛上搜索过这个问题。我找不到答案。大多数 Web 音频 API 演示使用 AudioBufferSourceNode
作为源。我无法使用它,因为我正在播放大型 mp3 文件。我选择了 Web Audio API,因为 Gainnode 允许在 ios safari 浏览器中控制音量。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)