Windows Phone:可以将IsolatedStorage路径转换为文件系统中的“普通”绝对路径吗?

时间:2015-03-30 06:55:51

标签: c# windows-phone-8 isolatedstorage isolatedstoragefile

我注意到我可以通过代码(XNA MediaPlayer和BackgroundAudioPlayer)访问的所有音频播放器都需要在特殊位置使用文件 - 它们只是在没有任何错误消息的情况下播放失败。

所以我可以将文件复制到IsolatedStorage,现在我又需要一个普通路径(正常意味着在文件系统上完全限定它的路径:绝对路径,这样我就可以使用System.IO.File)。

这是可能的,如果是的话,怎么样?

(我想把这条路径交给一个Microsoft.Xna.Framework.Media.MediaPlayer,希望它可以从那个位置播放,因为它似乎无法从任意位置播放。)

1 个答案:

答案 0 :(得分:2)

你看过MediaElement了吗? (System.Windows.Controls.MediaElement)您可以使用IsolatedStorageFileStream

设置控件的来源
using (var isoStorage = IsolatedStorageFile.GetUserStoreForApplication())
{
      if (isoStorage.FileExists(strFilename))
      {
          IsolatedStorageFileStream isoAudioFile = IsolatedStorageFileStream(strFilename, FileMode.Open, FileAccess.Read, isoStorage);

          medAudioPlayer.SetSource(isoAudioFile);                     
      }
}

medAudioPlayer是您的MediaElement。

注意:这适用于Windows Phone 8.1 Silverlight应用。不确定它是否可用于通用应用程序。