画多个动态波形需要使用哪个控件?

踏岸寻柳 2020-02-01 11:13:08
写了个多通道(8个通道)录音机,想实时显示各个通道采集音频的波形。

试了试 TPerformanceGraph 组件:

for(int j = 0; j < channels; j++)
{
value = pData[0];
value += 16000;
m_ppPerfGraph[j]->DataPoint(clRed, value);
m_ppPerfGraph[j]->Update();
}


但是发现性能太差,UI界面基本卡死;或者是我不会用?
...全文
432 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
ooolinux 2020-02-02
  • 打赏
  • 举报
回复
Image的Canvas自绘如何?
ooolinux 2020-02-02
  • 打赏
  • 举报
回复
引用 3 楼 踏岸寻柳 的回复:
[quote=引用 1 楼 ooolinux 的回复:] Image的Canvas自绘如何?
具体应该怎么做呢?

	for(int x = 0; x < Image1->Width; x++)
	{
		for(int y = 1; y <= 8; y++)
		{
			Image1->Canvas->Pixels[x][y * 10] = clBlue;
		}
	}
这样倒是可以以Pixel方式对样点进行显示,但是能够显示的内容毕竟还是太少,受限于Image的宽度[/quote] 如果动态移动画布的话,比如把右边80%区域左移,右边新的20%区域上接着画。
踏岸寻柳 2020-02-02
  • 打赏
  • 举报
回复
引用 2 楼 早打大打打核战争 的回复:
试试这个:http://www.delphiarea.com/products/delphi-packages/waveaudio/
你这个是一系列组件,主要是Wave音频的录制及播放功能 我这边已经解决了录制问题,现在需要通过UI来呈现录制的数据,还有其他可用的组件吗
踏岸寻柳 2020-02-02
  • 打赏
  • 举报
回复
引用 1 楼 ooolinux 的回复:
Image的Canvas自绘如何?
具体应该怎么做呢?

	for(int x = 0; x < Image1->Width; x++)
	{
		for(int y = 1; y <= 8; y++)
		{
			Image1->Canvas->Pixels[x][y * 10] = clBlue;
		}
	}
这样倒是可以以Pixel方式对样点进行显示,但是能够显示的内容毕竟还是太少,受限于Image的宽度

604

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder VCL组件使用和开发
社区管理员
  • VCL组件使用和开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧