WP7.5/Silverlight应用程序......只在第一次页面加载
在我的页面加载,我玩的是声音片段(如您好!今天是美好的一天。)
private void PhoneApplicationPage_Loaded(object sender, RoutedEventArgs e)
{
seLoadInstance = seLoad.CreateInstance(); //I initialize this seLoad in Initialize method
seLoadInstance.Play();
}
播放SoundEffect中
现在我在页面上有3-4个其他元素。当用户点击其中任何一个时,该元素的声音剪辑就会播放。
private void ElementClick_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
seElementInstance = seElement.CreateInstance();
seElementInstance .Play();
}
我要的是: 当要播放的第一次加载页面,并同时seLoadInstance正在播放和用户点击的元素,我不想seElementInstance。
我可以检查seLoadInstance的状态就像下面不玩seElementInstance
private void ElementClick_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
if(seLoadTextInstance.State != SoundState.Playing)
{
seElementInstance = seElement.CreateInstance();
seElementInstance .Play();
}
}
但上面的问题是,我有另一种元素,可起到seLoadInstance它的点击。
问题:我不知道如何区分正在播放的seLoadInstance是第一次还是单击元素时。
可能的解决方案:我看到的一种方式是使用不同的实例播放相同的声音。
我希望有一些更好的方法,比如我在加载时设置了一个标志,但是我找不到SoundInstance已完成或停止的任何显式事件,我可以处理。
任何想法??
感谢。我想播放要点击的元素的声音,即停止正在播放的任何声音。我不希望发生这种情况的唯一时间是首次加载页面时。正如我之前提到的,我无法按照你提到的方式使用国家。对于创建新实例,我实际上会在实例停止播放后处理它。我不确定这是一个问题还是错误的编码方式。 – oms