iOS 画音频波形曲线 根据音频数据版

本文介绍了如何在iOS应用中根据音频数据绘制波形曲线,包括实现的关键代码和实际效果图展示,主要涉及Objective-C编程。
摘要由CSDN通过智能技术生成

效果图



DrawView.h

#import <UIKit/UIKit.h>

@interface DrawView : UIView

@property short *drawBuffer;
@property int  dataLen;
@property float *outRel;
@property float *outImg;
@property int bias;
@property int wSize;
- (void)genKernel;


@end

DrawView.m

#import "DrawView.h"

@implementation DrawView

#define KSIZE 20
#define BIAS 10000

static double fk[KSIZE] = {0};
static double _filterData[2048];



- (void)genKernel
{
    double fc = .05;
    for (int i = 0; i < KSIZE; i++)
    {
        if ((i - KSIZE/2) == 0)fk[i] = 2 * M_PI *fc;
        if ((i - KSIZE/2) != 0 )fk[i] = sin(2 * M_PI * fc * (i - KSIZE/2))/(i - KSIZE/2);
        fk[i] = fk[i] * (0.54 - 0.46 * cos(2 * M_PI * i / KSIZE ));
        
    }
    
    double sum = 0;
    for (int m = 0; m < KSIZE; m++)
        sum+=fk[m];
    
    for (int n = 0; n < KSIZE; n++)
        fk[n]/=sum;
}

- (void)improveSpectrum
{
    memset(_filterData, 0x0, sizeof(double) * 1024);
    short transData[(int)self.wSize];
  
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

杜甲同学

感谢打赏,我会继续努力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值