2012-04-10 31 views
2

我需要使用文件URL播放音樂庫文件,我將在XAML c#對象中設置爲MediaPlayer對象。如何使用文件URL機制播放Metro中的音樂

我構造URI作爲隨後

StorageFile file = await KnownFolders.MusicLibrary.GetFileAsync(track.Id); 

return new Uri("file:///" + file.Path); 

URI看起來像這樣:streamingUri = {文件:/// C:/用戶/用戶/音樂/ 04 - 甲列車使孤獨Sound.mp3}

我需要基於URL的方案來播放,以便我可以重複使用網絡流媒體的相同邏輯。

我該如何做這項工作?

回答

2

看看 this sample。它應該給你一些關於如何從文件進行媒體播放的想法。

雖然我注意到你說你需要一個基於URI的,你應該使用一個流作爲本地文件。您需要提取的唯一部分是調用MediaElement的源代碼。你可以使用2個覆蓋來創建一個函數,它應該相對乾淨。

因此,對於網絡流:

void SetMediaElementSource(Uri webStreamUri) 
{ 
    MyMediaElement.Source = webStreamUri; 
} 

而對於一個本地文件:

void SetMediaElementSource(StorageFile file) 
{ 
    var stream = await file.OpenAsync(Windows.Storage.FileAccessMode.Read); 
    MyMediaElement.SetSource(stream, file.ContentType); 
}