首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 媒体动画 > 多媒体 >

播放器在播放音乐时,经常会有曲线随着音乐的节奏在震动,请教那时如何做的,小弟我在音频贞里没有找到相关的信息,用后面的数据如何弄

2012-03-07 
播放器在播放音乐时,经常会有曲线随着音乐的节奏在震动,请问那时怎么做的,我在音频贞里没有找到相关的信息

播放器在播放音乐时,经常会有曲线随着音乐的节奏在震动,请问那时怎么做的,我在音频贞里没有找到相关的信息,用后面的数据怎么弄
播放器在播放音乐时,经常会有曲线随着音乐的节奏在震动,请问那时怎么做的,我在音频贞里没有找到相关的信息,用后面的数据怎么弄

[解决办法]
你说的是不是频谱分析??就像Winamp里面的那个吧!!

那个其实很简单,取出512个PCM样本,然后FFT,再Scale一下,就可以输出频谱信息了!
对于波形的话,那就更简单了,直接把PCM样本用绘图函数画出来就行了!

我把Scale的代码给你粘一下, xscale:从0到255包含255个元素的数组, mono_freq: FFT后的数据(要化成实数,虚数是不行的!), intern_vis_data:含有255个元素的int型数组(把这个画出来就行了)

for (i = 0; i < 255; i++)
{
for (j = xscale[i], y = 0; j < xscale[i + 1]; j++)
{
if (mono_freq[0][j] > y)
y = mono_freq[0][j];
}
y >>= 4;
if (y != 0)
{
intern_vis_data[i] = (int)((double)log((double)y) * (double)y_scale * (double)e_const);
if (intern_vis_data[i] > 255)
intern_vis_data[i] = 255;
}
else
intern_vis_data[i] = 0;
}
[解决办法]

热点排行