我需要使用文件 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 - 火车发出孤独的声音.mp3}
我需要基于 URL 的方案来播放,以便我也可以重用相同的逻辑进行网络流式传输。
我该如何完成这项工作?
最佳答案
看看 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);
}
关于c# - 如何使用文件URL机制在Metro中播放音乐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10097989/