在WPF声音可视化库中使用WaveformTimeline控件

时间:2013-06-17 11:19:47

标签: c# naudio wpf-4.0 audio-processing

我在使用NAUDIO类库的WPF Sound Visualization Library中使用WaveformTimeLine类时遇到问题。我已按照他们在文档中提供的说明进行操作,但这对我不起作用。

我背后的代码如下:

public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }

        private OpenFileDialog dialogBox = new OpenFileDialog();

        private void open_Click(object sender, RoutedEventArgs e)
        {
            //Get Audio File
            dialogBox.Filter = "Wave File (*.mp3 ; *.wav) | *.mp3;*.wav;";
            if (dialogBox.ShowDialog() == true)
            {
                NAudioEngine.Instance.OpenFile(dialogBox.FileName);
                fileLocation = dialogBox.FileName;
            }

            var soundEngine = NAudioEngine.Instance;
            soundEngine.PropertyChanged += NAudioEngine_PropertyChanged;
            soundEngine.OpenFile(fileLocation);
            if (NAudioEngine.Instance.CanPlay) NAudioEngine.Instance.Play();
            myWave = new WaveformTimeline();
            myWave.RegisterSoundPlayer(soundEngine);
        }

代码不会抛出任何错误,但它也没有做任何事情。可以使用此API或类似API的人帮我解决这个问题。

1 个答案:

答案 0 :(得分:0)

关键错误是行

myWave = new WaveformTimeline();

在XAML设计视图中添加WaveformTimeline控件后,您不会在后面的代码中再次初始化控件,因为您将获得WaveformTimeline对象的另一个实例。