跪求VB高手关于音频数据画波形图的问题
WaveData(j)=long1(0)+long1(1)*256If(WaveData(j)>63000Andj>0)ThenWaveData(j)=0EndIfIf(...
WaveData(j) = long1(0) + long1(1) * 256
If (WaveData(j) > 63000 And j > 0) Then
WaveData(j) = 0
End If
If (WaveData(j) > 32767 And WaveData(j) < 63000 And j > 0) Then
Dim slz As Integer
slz = 32767 - WaveData(j)
WaveData(j) = slz / 100
End If
If (WaveData(j) > 0 And WaveData(j) <= 32767 And j > 0) Then
Dim slh As Integer
slh = WaveData(j)
WaveData(j) = slh / 100
End If
hscrolPercent.wave_pic.Line (j , WaveData(j) )-((j + 1) , WaveData(j + 1) ), RGB(100, 100, 255)
小弟是个菜鸟,希望各位大侠们帮帮忙,WaveData(j)是16位音频数据其值的范围是0-65535,但是正确的范围是-32768-32767,不知道是我数据转换的不正确还是什么,输入一个正弦音频信号用图片框画出来之后确实这样的,如图。恳请各位大侠们帮帮小弟吧,再次跪谢了!!我虽然是菜鸟但是我很努力,这个问题真的不知道是问题出在哪里了!!!!!!!! 展开
If (WaveData(j) > 63000 And j > 0) Then
WaveData(j) = 0
End If
If (WaveData(j) > 32767 And WaveData(j) < 63000 And j > 0) Then
Dim slz As Integer
slz = 32767 - WaveData(j)
WaveData(j) = slz / 100
End If
If (WaveData(j) > 0 And WaveData(j) <= 32767 And j > 0) Then
Dim slh As Integer
slh = WaveData(j)
WaveData(j) = slh / 100
End If
hscrolPercent.wave_pic.Line (j , WaveData(j) )-((j + 1) , WaveData(j + 1) ), RGB(100, 100, 255)
小弟是个菜鸟,希望各位大侠们帮帮忙,WaveData(j)是16位音频数据其值的范围是0-65535,但是正确的范围是-32768-32767,不知道是我数据转换的不正确还是什么,输入一个正弦音频信号用图片框画出来之后确实这样的,如图。恳请各位大侠们帮帮小弟吧,再次跪谢了!!我虽然是菜鸟但是我很努力,这个问题真的不知道是问题出在哪里了!!!!!!!! 展开
6个回答
展开全部
数值范围是-32768-32767就是0-65535 你把基线设为0是错误的哦 在数据处理中应该把基线0调整到65535的二分之一(32768)就可以了 这样-32768就是0 32767就是65535
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
参考答案: 学习是劳动,是充满思想的劳动。——乌申斯基
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2018-04-10
展开全部
请教一下,你这WaveData 哪来的!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这样很难调试,可否给出所有代码?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
I`m coming only...................
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询