我注意到,我可以通过代码访问的几乎所有音频播放器(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应用程序。不确定它是否在通用应用程序中可用。