java如何在画布上绘制路径之前稍等片刻?
我有一个根据扬声器当前拾取的振幅移动的波,但是如果我安静,然后突然发出噪音,波立即“跳”到该振幅,我想使效果稍微平缓一些。我怎样才能完成这项任务
我现在使用以下方法绘制波浪:
Canvas.drawPath(path,paint);
path.reset();
invalidate();
所有这些都在我的自定义View
的onDraw
方法中。因此,路径基本上是以话筒当前拾取的任何振幅绘制的(有一个限制),这意味着如果拾取的振幅现在在100,然后突然跳到4000,路径也会“跳”得相当厉害
# 1 楼答案
我不认为添加睡眠是最好的解决方案,因为您可能会丢失您可能想要绘制的传入数据。我建议保存最后的x个样本,然后在传入的数据包中求平均值。所以,如果你是10岁,接下来的几个样本是4000,然后再下降,你的平均值不会接近高。如果上升到4000并保持不变,那么在几个样本中,图表最终会上升到4000,这取决于你的平均值
# 2 楼答案
这取决于你需要做什么。如果你想平滑你的路径,我建议你画一条曲线,而不是一条有一定角度的路径(你也可以用直线)。 否则,你也可以使用睡眠来做同样的事情,因为整个转换应该很小,足以适应你收集数据的频率