在上一篇博客中,我已经介绍了怎么去解析PCM文件获取音量数据,这次我们根据获取的音量数据绘制出我们的波形图,即简单的实现了音乐的初步可视化。
我们利用GLFW这个库来实现OpenGL绘图,相关环境的配置可以参考我们博客前两篇的环境配置:
https://blog.csdn.net/qq_38130710
代码也不多,直接贴出:
void drawLint()
{
glClearColor (0.8, 0.8, 0.8, 0.8);
glClear (GL_COLOR_BUFFER_BIT);
glLineWidth(2);//设置线段宽度
glBegin(GL_LINES);
glColor3f(1.0,0.0,0.0);
short pcm_In = 0;
int size = 0;
float xstart=-1.0;
float ystart=0.0;
float xend=0.0;
float yend=0.0;
float temp = 0.0;
FILE *fp = fopen(OLD_FILE_PATH, "rb+"); //为读写打开一个二进制文件 即pcm文件
while(!feof(fp))
{
size = fread(&pcm_In, 2, 1, fp); //pcm中每个数据大小为2字节,每次读取1个数据
if(size>0)
{
//确定绘制波形的折线两点坐标
xstart=xstart+0.00003;
ystart=temp;
xend=xsta