wpf自定义控件:带选择滑块的audiowaveform矩形

时间:2010-10-25 22:04:49

标签: c# wpf audio user-controls

我正在开发一个c#wpf应用程序,我想用音频做一些事情。 irrklang音频库为我提供了一个pcm解码的16位字节数组。

我想创建一个时间轴控件,它显示时间轴上的波形,带有一个用户可以拖动的重叠矩形,然后单击/拖动左右两侧以增加或减少选择。

用于修剪音轨。我希望选择的最小值和最大值是databindable,总轨道的最小值和最大值是可绑定的。

这里要澄清一个图像样机:

alt text

我不是要求完全控制,但是如何解决这个问题的建议和建议非常受欢迎。也许这样的解决方案已经存在,但到目前为止我还没有找到它。

我想我需要解决:控制(缩放,平移和更改选择)以及在控件中绘制波形

提前致谢,

2 个答案:

答案 0 :(得分:2)

我认为你应该查看这个codeplex项目 http://wpfsvl.codeplex.com/

答案 1 :(得分:1)

请参阅Audio WaveForm Drawing Using WPF

基于WaveFileTrimmerControl.xaml的内容会很有用,它会使用相关控件PolygonWaveFormControl.xaml& RangeSelectionControl.xaml(链接指向XAML,但也指CS)。在任何情况下,它都是构建完全符合您想要的控件的良好起点。

您可以覆盖渲染方法并使用可能提供更好性能的基元;但是就像任何与性能相关的东西一样,我首先尝试上面的方法,这几乎肯定是足够好的。