1

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

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

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

(然后我想将该路径提供给 Microsoft.Xna.Framework.Media.MediaPlayer,希望它可以从该位置播放,因为它似乎无法从任意位置播放。)

4

1 回答 1

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

于 2015-03-30T11:06:04.947 回答