我在我的Windows Phone 8.1 silverlight应用程序中使用了单个媒体元素并使用C#更改了其来源,我的代码
private void ButtonNextPage_Click(object sender,RoutedEventArgs e) { ImageLeftBelow.Style = ImageLeftShown.Style;
alpha += 1;
alphaplay.Source = new Uri("///Assets/MP3/" + alpha + ".mp3");
alphaplay.Play();
if (alpha ==26)
{
next.IsEnabled = false;
}
}
但是我的代码工作不正常而且没有播放音频。我也试过了
"ms-appx:///Assets/MP3/" + alpha + ".mp3"
它也不起作用,但我的代码在窗口商店应用程序和Windows Phone 8.1应用程序上正常工作。请告诉我如何使用Windows Phone 8.1(silverlight)中的单个媒体元素播放多个音频
答案 0 :(得分:4)
由于在同一页面中有3个MediaElements,我遇到了类似的问题,请确保您只有一个。
如果它仍然无效,则会对此进行测试:
Sound.Source = new Uri("Assets/MP3/" + alpha + ".mp3", UriKind.Relative);
(不使用.Play(),而是添加MediaOpened事件):
<MediaElement x:Name="Sound" AutoPlay="False"
MediaOpened="Sound_MediaOpened"
MediaFailed="Sound_MediaFailed" />
|
private void Sound_MediaOpened(object sender, RoutedEventArgs e)
{
Sound.Play();
}
private void Sound_MediaFailed(object sender, ExceptionRoutedEventArgs e)
{
System.Diagnostics.Debug.WriteLine(e.ErrorException.Message + " ERROR playing sound " + Sound.Source.ToString());
}
如果出现错误,您将在输出日志中看到其详细信息。