当我点击1号按钮时,MediaElement将播放该句子的发音。然后,如果我点击按钮没有2我将导航到SoundRecord页面。然后,如果我再次单击后退按钮到上一页(如图中所示),MediaElement会播放您选择的先前发音而不调用任何功能... 是什么原因,我该如何解决这个问题?
这也是播放声音文件的代码:
public void PlayPronunciation(string fileName, MediaElement soundPlayer)
{
var path = string.Format("Assets/Audio/{0}.mp3", fileName);
soundPlayer.Source = new Uri(path, UriKind.Relative);
soundPlayer.AutoPlay = true;
if (soundPlayer.CurrentState == MediaElementState.Stopped)
soundPlayer.Play();
}
对于页面卸载事件中的临时解决方案我做了类似的事情,但我认为这不是解决问题的好方法:
private void PhoneApplicationPage_Unloaded(object sender, RoutedEventArgs e)
{
SoundPlayer.AutoPlay = false;
}
答案 0 :(得分:1)
如果您使用
,请删除此行:soundPlayer.AutoPlay = true;
if (soundPlayer.CurrentState == MediaElementState.Stopped)
soundPlayer.Play();`
在xaml中设置AutoPlay="False"
并从代码中删除任何soundPlayer.AutoPlay=true;
更改此内容:
if (soundPlayer.CurrentState == MediaElementState.Stopped)
到此:
if (soundPlayer.CurrentState != MediaElementState.Playing)