有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何在画布上绘制路径之前稍等片刻?

我有一个根据扬声器当前拾取的振幅移动的波,但是如果我安静,然后突然发出噪音,波立即“跳”到该振幅,我想使效果稍微平缓一些。我怎样才能完成这项任务

我现在使用以下方法绘制波浪:

Canvas.drawPath(path,paint);
path.reset();
invalidate();

所有这些都在我的自定义ViewonDraw方法中。因此,路径基本上是以话筒当前拾取的任何振幅绘制的(有一个限制),这意味着如果拾取的振幅现在在100,然后突然跳到4000,路径也会“跳”得相当厉害


共 (2) 个答案

  1. # 1 楼答案

    我不认为添加睡眠是最好的解决方案,因为您可能会丢失您可能想要绘制的传入数据。我建议保存最后的x个样本,然后在传入的数据包中求平均值。所以,如果你是10岁,接下来的几个样本是4000,然后再下降,你的平均值不会接近高。如果上升到4000并保持不变,那么在几个样本中,图表最终会上升到4000,这取决于你的平均值

  2. # 2 楼答案

    这取决于你需要做什么。如果你想平滑你的路径,我建议你画一条曲线,而不是一条有一定角度的路径(你也可以用直线)。 否则,你也可以使用睡眠来做同样的事情,因为整个转换应该很小,足以适应你收集数据的频率