【问题标题】:Windows Phone: possible to convert IsolatedStorage path to "normal" absolute path in filesystem?Windows Phone:可以将独立存储路径转换为文件系统中的“正常”绝对路径吗?
【发布时间】:2015-03-30 06:55:51
【问题描述】:

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

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

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

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

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

    • 谢谢!不幸的是,它不起作用..也许是因为我的 MediaElement 不在 xaml 中,而是在代码中?另外,我的目标是 Windows Phone 8.0 SDK - 不知道与 8.1 Silverlight 是否有区别。
    • 感谢您的支持!根据此链接,它适用于 Windows Phone 8:msdn.microsoft.com/en-us/library/windows/apps/… 这意味着您应该能够在代码中创建它?
    • 如果您仍然需要获取绝对路径,这可能会有所帮助:dotnet.dzone.com/articles/…(来自此处的讨论:social.msdn.microsoft.com/Forums/windowsapps/en-US/…
    • 是的,它应该工作。 :) 也许我遗漏了一些东西。另外,我没有显示 MediaElement,不知道这是否会有所不同。 (它不在 XAML DOM 中。)从 iso 获取绝对路径按照 stackoverflow.com/a/24533312/586754 工作,也适用于根据您来自 dotnet.dzone 的链接的非更改 GUID。谢谢
    • 谢谢!让我回到办公室 Stack Overflow 排行榜的顶端 呵呵 - 干杯!
    猜你喜欢
    • 2016-12-11
    • 2011-01-27
    • 1970-01-01
    • 2019-11-14
    • 2014-01-28
    • 2016-01-07
    • 2014-04-28
    • 2021-10-18
    • 2017-08-01
    相关资源
    最近更新 更多