我有一个WPF应用程序,我正在使用SoundPlayer
播放几个简短的声音,如键盘点击。有时,看似随意,声音会停止播放。当我离开页面时,声音将在一次尖锐的回放中同时播放。
我的问题是,为什么会发生这种情况有什么明显的原因吗?
我尝试了几件事,但因为我不能始终如一地重现这个问题,所以很难找到原因。声音在整个应用程序中使用,因此我将它们在app.xaml.cs中加载到应用程序范围的静态集合中。我打电话给SoundPlayer.Load()
确保他们马上加载到记忆中。
就像我说的,这永远不会完全停止。回放似乎堆积起来,直到导航到另一个页面,他们一次玩。
可能产生影响的另一件事是我在应用程序中显示网络摄像头源。使用DirectShow.NET库加载网络摄像头源。我不确定加载图表是否会对播放声音产生任何不利影响。
答案 0 :(得分:0)
我认为网络摄像头正在更新UI元素,这将导致UI线程非常繁忙,在这种情况下,您可能不希望使用SoundPlayer.PlaySync()
或SoundPlayer.Load
来阻止当前线程。
而是尝试使用单独帖子的SoundPlayer.LoadAsync()
和SoundPlayer.Play()
。