我正在尝试构建一个波形生成器,它可以获得音频文件的幅度值,并在javascript中尽快(比实时更快)将它们显示在画布上.所以我使用OfflineAudioContext/webkitOfflineAudioContext,加载文件并开始分析.波形是填充宽幅画布.
我在processor.onaudioprocess函数中分析缓冲区.(我想这是它的工作方式?)
它在firefox中工作得很好,但我在chrome中遇到了一个问题:看起来它"跳过"很多分析来完成它尽快工作并且只返回一些坐标(类似于16).
这里是jsfiddle:http: //jsfiddle.net/bestiole/95EBf/
// create the audio context
if (! window.OfflineAudioContext) {
if (! window.webkitOfflineAudioContext) {
$('#output').append('failed : no audiocontext found, change browser');
}
window.OfflineAudioContext = window.webkitOfflineAudioContext;
}
//var context = new AudioContext();
var length = 15241583;
var samplerate = 44100;
var fftSamples = 2048;
var waveformWidth = 1920;
var context = new OfflineAudioContext(1,length,samplerate);
var source;
var splitter;
var analyser;
var processor;
var i=0;
var average;
var max;
var coord;
processor = context.createScriptProcessor(fftSamples, 1, 1);
processor.connect(context.destination); …Run Code Online (Sandbox Code Playgroud) 我想知道我如何能够(大约)在每一行上保留相同数量的元素,包括最后一行,flex-wrap或(包括任何其他想法flexbox).
例如,我有一个包含6个元素的flexbox.当它打破时我想在第一行有3个元素,在第二行有3个(或两个元素的总宽度大致相同).
(我不想调整孩子的大小,或者打破flexbox的功能.)
现在我只能在第一行获得5个元素,在最后一行获得一个元素.
ul {
display:flex;
justify-content:space-between;
flex-wrap:wrap;
}
Run Code Online (Sandbox Code Playgroud)
这是一个jsfiddle:https://jsfiddle.net/yfj2g7wx/
我认为大部分时间它会以图形方式提供比逐个包装元素更好的结果.
这可能吗 ?