java如何画周期sanjiao信号_Java中信号幅度与时间的关系

基本方法是这样的:

>收集要显示的音频数据.这可以是原始音频样本,也可以是处理结果(例如,对N个样本求平均值,或每N个样本取一个)以在x轴上提供缩放比例. (不进行缩放,您将需要48000像素才能显示1秒钟的音频.)

>给定这个样本数组,您必须将其转换为一个时差图.首先,您可以创建一个新的JPanel并覆盖paint方法以绘制图.

例如.

public void paint(Graphics g)

{

short[] samples; // the samples to render - get this from step 1.

int height = getHeight();

int middle = height/2;

for (int i=0; i

{

int sample = samples[i];

int amplitude = sample*middle;

g.drawLine(i, middle+amplitide, i, middle-amplitude);

}

}

这将在您的组件中绘制一个幅度-时间图.它与分量一样高,并且与样本数一样多.

要获得动画,您需要定期将新的short []数组放入组件中并调用repaint()(当然,所有这些都在Swing Event线程上!).

祝好运!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值