从WP应用程序的项目文件夹中访问文件

本文关键字:文件夹 访问 文件 项目文件 项目 WP 应用程序 | 更新日期: 2023-09-27 17:53:32

我是Windows Phone开发的新手,我正在尝试做一个简单的培训应用程序。

我想让我的应用程序加载一些音频文件,我已经放入一个文件夹内的项目。

下面是一个简短的片段:

private void LoadSound(String SoundFilePath, out SoundEffect Sound)
    {
        // For error checking, assume we'll fail to load the file.
        Sound = null;
        try
        {                
            // Holds informations about a file stream.                
            StreamResourceInfo SoundFileInfo = Application.GetResourceStream(new Uri(SoundFilePath, UriKind.Relative));

文件夹结构类似于

- Project
    - Kits
        - TestKit_128
            - Bass_126.wav

和呼叫

Button.setSound("Kits''TestKit_128''bass_126.wav");

抛出一个System.NullReferenceException,因为在创建URI时没有找到路径。(至少我是这么认为的!)

我该怎么办?

是否有任何方法从项目中的文件夹加载文件或将它们复制到IsolatedStorage当我第一次运行应用程序?

感谢编辑:

我刚刚用WinRar打开了XAP文件,没有"Kits"文件夹,所以我想我的问题是如何将文件夹添加到XAP文件

从WP应用程序的项目文件夹中访问文件

我认为你必须将文件夹和文件添加到你的项目中(我假设你正在使用Visual Studio)。尝试右键单击您的解决方案并添加一个现有对象(在本例中为wav文件)。

您是否将wav文件的构建操作设置为"Content"?右键单击WAV文件-> properties -> build action == content。

试试这个:

        Uri uri = new Uri("Kits/TestKit_128/bass_126.wav", UriKind.Relative);//Above the Kits folder only the project itself. 
        StreamResourceInfo sr = Application.GetResourceStream(uri);
        try
        {
            using (Stream stream = sr.Stream)
            {
                //working here with your data image or wav or whatever you want from URI
            }
        }
        catch (Exception)
        {
        }

这是项目内部的资源,对我来说很好。另外,之前关于"内容"的注意事项是正确的,没有它就无法工作。我认为问题出在地址的双斜杠上。