0

我有一个带有使用 XNA 麦克风的页面的 Windows 手机应用程序,并且有一个录制按钮和播放按钮,与任何数量的在线教程非常相似。当我第一次导航到页面时,录制和播放功能工作正常。但是,如果我单击后退按钮,然后再次导航到该页面,则录制的声音听起来像是口语的一部分重复了几次。例如,我将录制“testing”,播放听起来像“sss...sss”。有任何想法吗?

4

1 回答 1

0

我想到了。以下行在页面的构造函数中:

this.MicroPhone.BufferReady += new EventHandler(this.Microphone_BufferReady);

每次导航到页面时都会构建一个新页面,因此会调用同一页面对象的多个实例中的 Microphone_BufferReady 函数,并且来自麦克风的数据有时会存储在其他实例中。关键是移除 OnNavigatedFrom 页面事件中的处理程序:

this.MicroPhone.BufferReady -= new EventHandler(this.Microphone_BufferReady);

于 2012-08-08T02:50:49.143 回答