我正在玩Web Audio API并尝试找到导入mp3的方法(所以这只在Chrome中),并在画布上生成它的波形.我可以实时做到这一点,但我的目标是比实时更快地做到这一点.
我能够找到的所有示例都涉及从onaudioprocess事件附带的函数中读取分析器对象的频率数据:
processor = context.createJavascriptNode(2048,1,1);
processor.onaudioprocess = processAudio;
...
function processAudio{
var freqByteData = new Uint8Array(analyser.frequencyBinCount);
analyser.getByteFrequencyData(freqByteData);
//calculate magnitude & render to canvas
}
Run Code Online (Sandbox Code Playgroud)
但是看起来,analyser.frequencyBinCount只有在播放声音时才会填充(有关填充缓冲区的信息).
我想要的是能够尽可能快地手动/编程地逐步浏览文件,以生成画布图像.
到目前为止我得到的是:
$("#files").on('change',function(e){
var FileList = e.target.files,
Reader = new FileReader();
var File = FileList[0];
Reader.onload = (function(theFile){
return function(e){
context.decodeAudioData(e.target.result,function(buffer){
source.buffer = buffer;
source.connect(analyser);
analyser.connect(jsNode);
var freqData = new Uint8Array(buffer.getChannelData(0));
console.dir(analyser);
console.dir(jsNode);
jsNode.connect(context.destination);
//source.noteOn(0);
});
};
})(File);
Reader.readAsArrayBuffer(File);
});
Run Code Online (Sandbox Code Playgroud)
但是getChannelData()总是返回一个空的类型数组.
任何见解都会受到赞赏 - 即使事实证明它无法完成.我想我是唯一一个互联网不想要做的东西,在实时.
谢谢.
是否有关于网页链接颜色与常规文本之间对比的最佳实践或指南?
我知道有对比指南引用文本与背景颜色,但我也想知道是否有关于纯文本和链接文本之间应该存在的最小色差的指南.
例如,我的背景是白色(FFF),我的文字颜色是黑色(000),我的链接颜色是绿色(007C41)
编辑:
我意识到这取决于某种程度上的个人偏好.然而,虽然我的眼睛可能能够分辨出#000000和#000001之间的区别(他们不能,但仅仅是出于争论的缘故),其他人将无法做到.我想知道的是,是否存在关于最小色差应该是什么的可访问性指南.
我想以编程方式将CSS cursor值设置为-webkit-grab和-moz-grab.例如,在样式表中,它将表示为
mySelector{
cursor:-webkit-grab;
cursor:-moz-grab;
}
Run Code Online (Sandbox Code Playgroud)
所以这里,mySelector元素的游标定义了两次.Webkit浏览器使用第一个定义,第二个是Firefox.我想知道Javascript中是否有任何方法可以做同等的事情.我意识到我可以设置一个课程,但我的问题更多的是出于好奇心,看看它是否可能,而不是解决我现在遇到的现实问题.
编辑为了澄清 - 我发布的CSS(虽然有一个有效的选择器)可以在两个浏览器中工作.我只是想知道是否有一个只使用javascript的方法来做到这一点.
我有一个表,其中一列是逗号分隔的可能值列表.我想查询,按每个可能的值分组.
作为测试,我写了这个查询:
SELECT
`Please_identify_which_of_the_following_classroom_hardware_you_c2`,
count(`_How_would_you_rate_your_overall_skill_in_using_educational_tec1`) as count,
`_How_would_you_rate_your_overall_skill_in_using_educational_tec1`
FROM
`data_Copy_of_Faculty_survey_on_technology_in_the_classroom_Respo`
GROUP BY
`_How_would_you_rate_your_overall_skill_in_using_educational_tec1`,
CASE
WHEN `Please_identify_which_of_the_following_classroom_hardware_you_c2` LIKE '%Elmo%' THEN 'Elmo'
END
Run Code Online (Sandbox Code Playgroud)
(请原谅列名,它们是自动生成的)
我知道CASE语句在这一点上并不是非常有用,但我只是想让查询运行.我收到一个错误:
错误1064(42000):您的SQL语法有错误; 检查与MySQL服务器版本对应的手册,以便在第10行的'THEN'Elmo'END'附近使用正确的语法
对于我的生活,我找不到查询的错误.任何见解将不胜感激.
编辑:我尝试过单引号和双引号 - 无论使用什么引号都是同样的问题.
更新:正如Mark指出的那样,即使我要解析这个查询,结果也不会是我想要的.我仍然很好奇为什么这不解析,但查询不是我最初问题的解决方案.
我有一些通过 AJAX 加载的 html 引用的 javascript(即:AJAX 检索 HTML,HTML<script>中有一个引用此 javascript 的标签)
该 javascript 包含类声明,例如:
class CalculatorClass{
...
}
Run Code Online (Sandbox Code Playgroud)
如果此脚本加载两次,我会收到错误:redeclaration of let CalculatorClass。由于它不是一个变量,我无法测试它是否是undefined第一个 - 即使这样它也会限制范围。如果尚未声明该类,我该如何声明?
我正在尝试使用网格布局制作日历。一周中的每一天都有标题。我的目标是将标题的高度(即:网格中的第一行)设置为30px,并让其余的行拆分剩余的可用空间。
我的日历CSS如下所示:
.calendar{
display:grid;
grid-template-columns:repeat(1,1fr);
grid-template-rows:30px repeat(auto-fill,1fr);
}
Run Code Online (Sandbox Code Playgroud)
现在,我认为这完全可以实现我想要的功能,但是30px没有效果,并且每一行都是相等的高度。是否可以将静态值与混合repeat()?
我意识到我只能制作2个网格-一个用于标题,一个用于日间网格-但我很好奇是否有一种更清洁的方法。
演示在这里:https : //codepen.io/anon/pen/yGEaOm
.calendar{
display:grid;
grid-template-columns:repeat(1,1fr);
grid-template-rows:30px repeat(auto-fill,1fr);
}
Run Code Online (Sandbox Code Playgroud)
.calendar {
display: grid;
grid-template-columns: repeat(1, 1fr);
grid-template-rows: 30px repeat(auto-fill, 1fr);
}
/** Appearance styles that don't affect the layout */
.calendar {
min-height: 200px;
}
.day {
border: 1px solid black;
display: flex;
align-items: center;
justify-content: center;
}Run Code Online (Sandbox Code Playgroud)
我有一个颜色名称和值的 SCSS 映射。我想从它们创建 CSS 自定义属性,如下所示:
社会保障局
$colours:(
"gray-500": #f7fafc,
"red-500": #f56565,
"green-500": #48bb78
);
Run Code Online (Sandbox Code Playgroud)
所需的结果 CSS
--gray-500: #f7fafc;
--red-500: #f56565;
--green-500: #48bb78;
Run Code Online (Sandbox Code Playgroud)
我知道如何遍历地图,但我遇到的问题是如何使用键作为自定义属性名称,以及如何添加--到它的前面。我能找到的所有与此主题相关的示例都涉及手动输入自定义属性名称 - 而不是从地图的键中收集它。
这是我到目前为止:
@each $colour, $value in $colours {
--#{$colour}:$value;
}
Run Code Online (Sandbox Code Playgroud)
这会产生一个错误:expected "{"插入符号指向这一行的末尾:
--#{$colour}:$value;
Run Code Online (Sandbox Code Playgroud)
我正在使用 Dart Sass 1.23.7
我正在使用fopen()和读取一个结构不规则的CSV文件fgetcsv()。前5行将被丢弃。
有没有一种有效的方法来丢弃这5条线?我现在所拥有的是:
$fp = fopen($path,'r');
fgets($fp);fgets($fp);fgets($fp);fgets($fp);fgets($fp);
Run Code Online (Sandbox Code Playgroud)
完成工作,但看起来很脏。