我不知道这意味着什么。我有一种感觉,Web Audio API中的某些内容最近发生了变化,浏览器已经实现了这一变化,因为我的应用程序在2周前最后一次检查时运行良好,没有任何错误。自从上次代码工作以来,我最近没有更改任何代码。
我得到的错误是:
未捕获类型错误:未能设置上的"value"属性"AudioParam":提供的浮点值是非有限的。
发生错误的行是这一行:
gainNode.gain.value = volume;
可以在此处查看该应用程序:http://aceroinc.ca/harmanKardon/
当按下电源按钮时,应用程序应该打开,广播电台应该开始播放流媒体(仅在chrome中….aac格式在Firefox中不起作用,我知道这一点)
DOM加载后,我初始化了web音频api。。。
window.AudioContext = window.AudioContext || window.webkitAudioContext;
context = new AudioContext();
source =context.createMediaElementSource(document.getElementById('audio'));
gainNode = context.createGain();
var gainDefault = gainNode.gain.defaultValue;
然后在开机功能中我有:
gainNode.gain.value = currVolume;
这导致了错误。
当我在我的iphone上的safari中检查它时,该应用程序可以工作。所以这似乎是一个铬问题。
在我的台式电脑上,我有Chrome版本42.0.2311.90(64位),但它不起作用。
在我的笔记本电脑上,我有Chrome版本41.0.2272.118 m,它确实有效。
在我的iPhone上,我有Chrome版本40.0.2214.73,它确实有效。
因为浮点值的类型可以是无穷大和非无穷大,所以为了防止此错误,请检查解析的浮点值是否为无穷大。
有关parseFloat()的更多详细信息,请阅读此处parseFloat()
function changeVolume(volume) {
let volume = parseFloat(params.volume);
if (isFinite(volume)) {
gainNode.gain.value = volume;
}
}
"volume"是包含音量旋钮的div元素,而不是值。我想你的意思是"currVolume"。