我正在为我的毕业写一个声音编辑器。我正在使用BASS从 MP3、WAV、OGG 等文件中提取样本,并添加回声、镶边等 DSP 效果。简单地说,我制作了我的框架,将效果从位置 1 应用到位置 2,剪切/粘贴管理。
现在我的问题是我想创建一个与Cool Edit Pro中的控件类似的控件,该控件绘制歌曲的波形表示,并能够放大/缩小波形的选择部分等。选择后我可以做类似的事情:
TInterval EditZone = WaveForm->GetSelection();
其中 TInterval 具有这种形式:
struct TInterval
{
long Start;
long End;
}
当涉及到复杂的绘图时,我是一个初学者,所以任何关于如何使用 BASS 返回的样本数据创建歌曲的波形表示,并具有放大/缩小能力的提示将不胜感激。
我正在用 C++ 编写我的项目,但我可以理解 C#、Delphi 代码,所以如果你愿意,你也可以用最后两种语言发布代码片段:)
感谢 DrOptix