2

我需要使用文件 URL 播放音乐库文件,我将在 XAML c# 对象中将其设置为 MediaPlayer 对象。

我构造了URI如下

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

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

URI 如下所示:streamingUri = {file:///C:/Users/user/Music/04 - A Train Makes A Lonely Sound.mp3}

我需要基于 URL 的方案来播放,以便我也可以为网络流重用相同的逻辑。

我该如何进行这项工作?

4

1 回答 1

2

看看 这个样本。它应该给你一些关于如何从文件进行媒体播放的想法。

虽然我注意到您说您需要基于 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); 
}
于 2012-06-26T16:33:29.513 回答