2014-08-31 92 views
0

我在我的Windows Phone 8.1的Silverlight應用程序,並使用C#改變其源使用單一的MediaElement(Silverlight的),我的代碼MediaElement的工作不WIndowsPhone8.1

私人無效ButtonNextPage_Click(對象發件人,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"它也沒有工作,但我的代碼在window store應用和windows phone 8.1應用中工作正常。 pease告訴我如何在windows phone 8.1(silverlight)中使用單個mediaelement播放多個音頻

+0

MP3文件是否將操作設置爲內容? – 2014-08-31 13:18:11

+0

我的代碼工作正常,不給我任何錯誤,但我的mediaelement沒有給予任何迴應,我有windowphone 8.1(silverlight)應用程序的這個問題,但我的代碼在windowsphone8.1上成功運行的應用程序 – Danish 2014-08-31 17:19:24

+0

我認爲你的uri是錯誤的。嘗試類似這個新的URI(Path.Combine(Windows.ApplicationModel.Package.Current.InstalledLocation.Path,@「MP3 /」+ alpha +「.mp3」)) – 2014-08-31 20:56:47

回答

4

我有一個類似的問題,因爲在同一頁面中有3個MediaElement,請確保您只有一個。

如果仍然無法正常工作,這是測試:

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()); 

    } 

如果出現錯誤,您會在輸出日誌中看到它的詳細信息。