Windows Phone:可以将 IsolatedStorage 路径转换为文件系统中的 "normal" 绝对路径吗?

Windows Phone: possible to convert IsolatedStorage path to "normal" absolute path in filesystem?

我注意到几乎所有我可以通过代码访问的音频播放器(XNA MediaPlayer 和 BackgroundAudioPlayer)都需要一个特殊位置的文件——它们只是无法播放而没有任何错误消息。

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

这可能吗?如果可以,怎么做?

(我想把那个路径给一个 Microsoft.Xna.Framework.Media.MediaPlayer,希望它能从那个位置播放,因为它似乎不能从任意位置播放。)

你看过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 应用程序。不确定它是否在通用应用程序中可用。