2012-04-10 49 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); 
}